picker

滚动选择器,现支持三种选择器,通过mode来区分,分别是普通选择器,时间选择器,日期选择器,默认是普通选择器。
普通选择器:mode = selector
属性名类型默认值说明
rangeArray[]mode为 selector 时,range 有效
valueNumber0mode为 selector 时,是数字,表示选择了 range 中的第几个,从0开始。
bindchangeEventHandle value改变时触发change事件,event.detail = {value: value}
时间选择器:mode = time
属性名类型默认值说明
valueString 表示选中的时间,格式为"hh:mm"
startString 表示有效时间范围的开始,字符串格式为"hh:mm"
endString 表示有效时间范围的结束,字符串格式为"hh:mm"
bindchangeEventHandle value改变时触发change事件,event.detail = {value: value}
日期选择器:mode = date
属性名类型默认值说明
valueString0表示选中的日期,格式为"yyyy-MM-dd"
startString 表示有效日期范围的开始,字符串格式为"yyyy-MM-dd"
endString 表示有效日期范围的结束,字符串格式为"yyyy-MM-dd"
fieldsStringday有效值year,month,day,表示选择器的粒度
bindchangeEventHandle value改变时触发change事件,event.detail = {value: value}
 
注意:开发工具暂时只支持mode = selector。
 
<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">
        <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>
 
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
        })
    },
    bindTimeChange : function (e) {
        this.setData({
            time: e.detail.value
        })
    },
    bindDateChange : function (e) {
        this.setData({
            date: e.detail.value
        })
    }
})

转载于:https://www.cnblogs.com/tian-sun/p/7405661.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值