picker滾動選擇器組件說明:
picker:
滾動選擇器,現支持三種選擇器,通過mode屬性來區分,
分別是普通選擇器(mode = selector),時間選擇器(mode = time),日期選擇器(mode = date),
默認是普通選擇器。
picker滾動選擇器示例代碼運行效果如下:

下面是WXML代碼:
[XML]
純文本查看 復制代碼
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<
view
class
=
"page"
>
<
view
class
=
"page__hd"
>
<
text
class
=
"page__title"
>picker</
text
>
<
text
class
=
"page__desc"
>選擇器</
text
>
</
view
>
<
view
class
=
"page__bd"
>
<
view
class
=
"section"
>
<
view
class
=
"section__title"
>地區選擇器</
view
>
<
picker
bindchange
=
"bindPickerChange"
value
=
"{{index}}"
range
=
"{{array}}"
>
<
view
class
=
"picker"
>
當前選擇:{{array[index]}}
</
view
>
</
picker
>
</
view
>
<
view
class
=
"section"
>
<
view
class
=
"section__title"
>時間選擇器</
view
>
<
picker
mode
=
"time"
value
=
"{{time}}"
start
=
"09:01"
end
=
"21:01"
bindchange
=
"bindTimeChange"
>
<
view
class
=
"picker"
>
當前選擇: {{time}}
</
view
>
</
picker
>
</
view
>
<
view
class
=
"section"
>
<
view
class
=
"section__title"
>日期選擇器</
view
>
<
picker
mode
=
"date"
value
=
"{{date}}"
start
=
"2015-09-01"
end
=
"2017-09-01"
bindchange
=
"bindDateChange"
>
<
view
class
=
"picker"
>
當前選擇: {{date}}
</
view
>
</
picker
>
</
view
>
</
view
>
</
view
>
|
下面是JS代碼:
[JavaScript]
純文本查看 復制代碼
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Page({
data: {
array: [
'中國'
,
'美國'
,
'巴西'
,
'日本'
],
index: 0,
date:
'2016-09-01'
,
time:
'12:01'
},
bindPickerChange:
function
(e) {
console.log(
'picker發送選擇改變,攜帶值為'
, e.detail.value)
this
.setData({
index: e.detail.value
})
},
bindDateChange:
function
(e) {
this
.setData({
date: e.detail.value
})
},
bindTimeChange:
function
(e) {
this
.setData({
time: e.detail.value
})
}
})
|
下面是WXSS代碼:
[CSS]
純文本查看 復制代碼
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
.page {
min-height
:
100%
;
flex:
1
;
background-color
:
#FBF9FE
;
font-size
:
32
rpx;
font-family
: -apple-system-font,
Helvetica
Neue,
Helvetica
,
sans-serif
;
overflow
:
hidden
;
}
.page__hd{
padding
:
50
rpx
50
rpx
100
rpx
50
rpx;
text-align
:
center
;
}
.page__title{
display
: inline-
block
;
padding
:
20
rpx
40
rpx;
font-size
:
32
rpx;
color
:
#AAAAAA
;
border-bottom
:
1px
solid
#CCCCCC
;
}
.page__desc{
display
:
none
;
margin-top
:
20
rpx;
font-size
:
26
rpx;
color
:
#BBBBBB
;
}
.picker{
padding
:
26
rpx;
background-color
:
#FFFFFF
;
}
.section{
margin-bottom
:
80
rpx;
}
.section__title{
margin-bottom
:
16
rpx;
padding-left
:
30
rpx;
padding-right
:
30
rpx;
}
|
picker滾動選擇器的主要屬性:
普通選擇器:(mode = selector)
|
屬性名
|
類型
|
默認值
|
說明
|
| range | Array | [ ] | mode為 selector 時,range 有效 |
| value | Number | 0 | mode為 selector 時,是數字,表示選擇了 range 中的第幾個,從0開始。 |
| bindchange | EventHandle | value改變時觸發change事件,event.detail = {value: value} |
時間選擇器:(mode = time)
|
屬性名
|
類型
|
默認值
|
說明
|
| value | String | 表示選中的時間,格式為”hh:mm” | |
| start | String | 表示有效時間范圍的開始,字符串格式為”hh:mm” | |
| end | String | 表示有效時間范圍的結束,字符串格式為”hh:mm” | |
| bindchange | EventHandle | value改變時觸發change事件,event.detail = {value: value} |
日期選擇器:(mode = date)
|
屬性名
|
類型
|
默認值
|
說明
|
| value | String | 0 | 表示選中的日期,格式為”YYYY-MM-DD” |
| start | String | 表示有效日期范圍的開始,字符串格式為”YYYY-MM-DD” | |
| end | String | 表示有效日期范圍的結束,字符串格式為”YYYY-MM-DD” | |
| fields | String | day | 有效值year,month,day,表示選擇器的粒度 |
| bindchange | EventHandle | value改變時觸發change事件,event.detail = {value: value} |
