文档管理中心
ASCF框架API参考组件表单组件picker

picker

滚动选择器。选择器包括一个或多个不同值的可滚动列表。

起始版本: 1.0.0

属性:

展开
名称 类型 默认值 必填 描述
mode string selector

选择器类型。

- selector:普通选择器。

- multiSelector:多列选择器。

- time:时间选择器。

- date:日期选择器。

- region:省市区选择器。

disabled boolean false 是否禁用。
bindcancel eventhandle - 取消选择时触发。

除了上述通用的属性,对于不同的mode,picker会有不同的属性。

普通选择器

mode = selector时,表示普通选择器。

展开
名称 类型 默认值 描述
range Array<string> | Array<Object> [] mode为selector或multiSelector时,range有效。
range-key string - 当range是一个Object Array时,通过range-key来指定Object中key的值作为选择器显示内容。
value number 0 表示选择了range中的第几个(下标从0开始)。
bindchange eventhandle - value改变时触发change事件,event.detail = {value}。

多列选择器

mode = multiSelector时,表示多列选择器。

展开
名称 类型 默认值 描述
range Array<string> | Array<Object> [] mode为selector或multiSelector时,range有效。
range-key string - 当range是一个Object Array时,通过range-key来指定Object中key的值作为选择器显示内容。
value Array<number> [] 表示选择了range中的第几个(下标从0开始)。
bindchange eventhandle - value改变时触发change事件,event.detail = {value}。
bindcolumnchange eventhandle - 列改变时触发。

时间选择器

mode = time时,表示时间选择器。

展开
名称 类型 描述
value string 表示选中的时间,格式为"hh:mm"。
start string 表示有效时间范围的开始,字符串格式为"hh:mm"。
end string 表示有效时间范围的结束,字符串格式为"hh:mm"。
bindchange eventhandle value改变时触发change事件。

日期选择器

mode = date时,表示日期选择器。

展开
名称 类型 默认值 描述
value string 当天 表示选中的日期,格式为"YYYY-MM-DD"。
start string - 表示有效日期范围的开始,字符串格式为"YYYY-MM-DD"。
end string - 表示有效日期范围的结束,字符串格式为"YYYY-MM-DD"。
bindchange eventhandle - value改变时触发change事件,event.detail = {value}。

省市区选择器

mode = region时,表示省市区选择器。

展开
名称 类型 默认值 描述
value Array<string> [] 表示选中的省市区,默认选中每一列的第一个值。
bindchange eventhandle - value改变时触发change事件,event.detail = {value, code},其中字段code是统计用区划代码。

示例:

hxml文件:

收起
自动换行
深色代码主题
复制
  1. <view class="page-body">
  2. <view class="page-section">
  3. <view class="contentTitle">普通选择器</view>
  4. <view class="contentBody">
  5. <view class="contentKey">当前选择</view>
  6. <view class="contentVal">
  7. <picker
  8. bindchange="bindPickerChange"
  9. value="{{index}}"
  10. range="{{array}}">
  11. <view>{{array[index]}}</view>
  12. </picker>
  13. </view>
  14. </view>
  15. <view class="contentTitle">时间选择器</view>
  16. <view class="contentBody">
  17. <view class="contentKey">当前选择</view>
  18. <view class="contentVal">
  19. <picker
  20. mode="time"
  21. value="{{time}}"
  22. start="09:01"
  23. end="21:01"
  24. bindchange="bindTimeChange">
  25. <view>{{time}}</view>
  26. </picker>
  27. </view>
  28. </view>
  29. <view class="page-body">
  30. <view class="page-section">
  31. <view class="page-section-spacing">
  32. <picker mode="multiSelector"
  33. value="{{multiIndex}}"
  34. range="{{multiArray}}"
  35. bindchange="bindPickerChange"
  36. bindcolumnchange="bindColumnChange">
  37. <view class="picker">多列选择器</view>
  38. </picker>
  39. </view>
  40. </view>
  41. </view>
  42. </view>
  43. </view>

js文件:

收起
自动换行
深色代码主题
复制
  1. Page({
  2. data: {
  3. array: ['皮卡丘', '小火龙', '杰尼龟', '火恐龙'],
  4. index: 0,
  5. time: '12:01',
  6. multiIndex: [0, 0],
  7. // 多列选择器:
  8. multiArray: [['音频', '视频'], ['酷狗', '音乐']], // 二维数组,长度是多少是几列
  9. },
  10. bindPickerChange(event) {
  11. // event.detail内容举例为:{"value":""}
  12. console.info('picker组件的选择发生改变,携带值为', event.detail);
  13. },
  14. bindTimeChange(event) {
  15. // event.detail.value内容举例为:**:**
  16. console.info('picker组件mode为time时,选择发生改变,携带值为:', event.detail.value);
  17. this.setData({
  18. time: event.detail.value
  19. });
  20. },
  21. bindColumnChange(event) {
  22. // event.detail内容举例为:{"value":[],"column":""}
  23. console.info('picker组件列改变时触发,携带值为:', event.detail);
  24. }
  25. });
在 ASCF框架 中进行搜索
请输入您想要搜索的关键词