picker

    普通选择器:mode = selector

    属性名类型默认值说明
    range二维Array / 二维Object Array[]mode为 selector 或 multiSelector 时,range 有效。二维数组,长度表示多少列,数组的每项表示每列的数据,如[["a","b"], ["c","d"]]
    range-keyString当 range 是一个 二维Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
    valueArray[]value 每一项的值表示选择了 range 对应项中的第几个(下标从 0 开始)
    bindchangeEventHandlevalue 改变时触发 change 事件,event.detail = {value: value}
    bindcolumnchangeEventHandle某一列的值改变时触发 columnchange 事件,event.detail = {column: column, value: value},column 的值表示改变了第几列(下标从0开始),value 的值表示变更值的下标
    bindcancelEventHandle取消选择时触发
    disabledBooleanfalse是否禁用

    时间选择器:mode = time

    属性名类型默认值说明
    valueString0表示选中的日期,格式为 "YYYY-MM-DD"
    startString表示有效日期范围的开始,字符串格式为 "YYYY-MM-DD"
    endString表示有效日期范围的结束,字符串格式为 "YYYY-MM-DD"
    fieldsStringday有效值 year , month , day,表示选择器的粒度
    bindchangeEventHandlevalue 改变时触发 change 事件,event.detail = {value: value}
    bindcancelEventHandle取消选择时触发
    disabledBooleanfalse是否禁用

    fields 有效值:

    属性名类型默认值说明
    valueArray[]表示选中的省市区,默认选中每一列的第一个值
    custom-itemString可为每一列的顶部添加一个自定义的项
    bindchangeEventHandlevalue 改变时触发 change 事件,event.detail = {value: value, code: code, postcode: postcode},其中字段code是统计用区划代码,postcode 是邮政编码
    bindcancelEventHandle取消选择时触发
    disabledBooleanfalse是否禁用

    示例代码

    1. Page({
    2. data: {
    3. array: ['美国', '中国', '巴西', '日本'],
    4. objectArray: [
    5. {
    6. id: 0,
    7. name: '美国'
    8. },
    9. {
    10. id: 1,
    11. name: '中国'
    12. },
    13. {
    14. id: 2,
    15. name: '巴西'
    16. },
    17. {
    18. id: 3,
    19. name: '日本'
    20. }
    21. ],
    22. index: 0,
    23. multiArray: [['汽车', '自行车'], ['空调', '冰箱', '洗衣机', '手机'], ['面包', '馒头']],
    24. objectMultiArray: [
    25. [
    26. {
    27. id: 0,
    28. name: '空调'
    29. },
    30. {
    31. id: 1,
    32. }
    33. ], [
    34. {
    35. id: 0,
    36. name: '啤酒'
    37. },
    38. {
    39. id: 1,
    40. name: '红酒'
    41. },
    42. {
    43. id: 2,
    44. name: '白酒'
    45. },
    46. ], [
    47. {
    48. id: 0,
    49. name: '矿泉水'
    50. },
    51. {
    52. id: 1,
    53. name: '可乐'
    54. }
    55. ]
    56. ],
    57. multiIndex: [0, 0, 0],
    58. date: '2020-01-01',
    59. time: '12:01',
    60. region: ['北京', '北京市', '朝阳区'],
    61. customItem: '全部'
    62. },
    63. this.setData({
    64. index: e.detail.value
    65. })
    66. },
    67. bindMultiPickerChange: function (e) {
    68. console.log('picker change ,值为', e.detail.value)
    69. this.setData({
    70. multiIndex: e.detail.value
    71. })
    72. },
    73. bindMultiPickerColumnChange: function (e) {
    74. console.log(e)
    75. },
    76. bindDateChange: function(e) {
    77. console.log('picker change ,值为', e.detail.value)
    78. this.setData({
    79. date: e.detail.value
    80. })
    81. },
    82. bindTimeChange: function(e) {
    83. console.log('picker change ,值为', e.detail.value)
    84. this.setData({
    85. time: e.detail.value
    86. })
    87. },
    88. bindRegionChange: function (e) {
    89. console.log('picker change ,值为', e.detail.value)
    90. this.setData({
    91. region: e.detail.value
    92. })
    93. })