微信小程序组件解读和分析:十二、picker滚动选择器


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}

点击查看原文


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM