Select 下拉框

用于弹出一个下拉菜单给用户选择操作。

使用指南

在 page.json 中引入组件

  1. {
  2. "navigationBarTitleText": "Select",
  3. "usingComponents": {
  4. "wux-cell-group": "../../dist/cell-group/index",
  5. "wux-cell": "../../dist/cell/index",
  6. "wux-select": "../../dist/select/index"
  7. }
  8. }

示例

!> 该组件主要依靠 JavaScript 主动调用,所以一般只需在 wxml 中添加一个组件,并设置 id 为 #wux-select 或其他,之后在 page.js 中调用 $wuxSelect(id) 获取匹配到的第一个组件实例对象。

  1. <wux-select id="wux-select1" />
  2. <wux-select id="wux-select2" />
  3. <wux-select id="wux-select3" />
  4. <view class="page">
  5. <view class="page__hd">
  6. <view class="page__title">Select</view>
  7. <view class="page__desc">下拉框</view>
  8. </view>
  9. <view class="page__bd">
  10. <wux-cell-group title="Select">
  11. <wux-cell title="职业" extra="{{ title1 }}" bind:click="onClick1"></wux-cell>
  12. <wux-cell title="手机" extra="{{ title2 }}" bind:click="onClick2"></wux-cell>
  13. <wux-cell title="爱好" extra="{{ title3 }}" bind:click="onClick3"></wux-cell>
  14. </wux-cell-group>
  15. </view>
  16. </view>
  1. import { $wuxSelect } from '../../dist/index'
  2. Page({
  3. data: {
  4. value1: '',
  5. title1: '',
  6. value2: '',
  7. title2: '',
  8. value3: '',
  9. title3: '',
  10. },
  11. onClick1() {
  12. $wuxSelect('#wux-select1').open({
  13. value: this.data.value1,
  14. options: [
  15. '法官',
  16. '医生',
  17. '猎人',
  18. '学生',
  19. '记者',
  20. '其他',
  21. ],
  22. onConfirm: (value, index, options) => {
  23. console.log('onConfirm', value, index, options)
  24. if (index !== -1) {
  25. this.setData({
  26. value1: value,
  27. title1: options[index],
  28. })
  29. }
  30. },
  31. })
  32. },
  33. onClick2() {
  34. $wuxSelect('#wux-select2').open({
  35. value: this.data.value2,
  36. options: [{
  37. title: 'iPhone 3GS',
  38. value: '001',
  39. },
  40. {
  41. title: 'iPhone 5',
  42. value: '002',
  43. },
  44. {
  45. title: 'iPhone 5S',
  46. value: '003',
  47. },
  48. {
  49. title: 'iPhone 6',
  50. value: '004',
  51. },
  52. {
  53. title: 'iPhone 6S',
  54. value: '005',
  55. },
  56. {
  57. title: 'iPhone 6P',
  58. value: '006',
  59. },
  60. {
  61. title: 'iPhone 6SP',
  62. value: '007',
  63. },
  64. {
  65. title: 'iPhone SE',
  66. value: '008',
  67. },
  68. {
  69. title: 'iPhone 7',
  70. value: '009',
  71. },
  72. ],
  73. onConfirm: (value, index, options) => {
  74. console.log('onConfirm', value, index, options)
  75. if (index !== -1) {
  76. this.setData({
  77. value2: value,
  78. title2: options[index].title,
  79. })
  80. }
  81. },
  82. })
  83. },
  84. onClick3() {
  85. $wuxSelect('#wux-select3').open({
  86. value: this.data.value3,
  87. multiple: true,
  88. toolbar: {
  89. title: 'Please choose',
  90. confirmText: 'ok',
  91. },
  92. options: [{
  93. title: '画画',
  94. value: '1',
  95. },
  96. {
  97. title: '打球',
  98. value: '2',
  99. },
  100. {
  101. title: '唱歌',
  102. value: '3',
  103. },
  104. {
  105. title: '游泳',
  106. value: '4',
  107. },
  108. {
  109. title: '健身',
  110. value: '5',
  111. },
  112. {
  113. title: '睡觉',
  114. value: '6',
  115. },
  116. ],
  117. onChange: (value, index, options) => {
  118. console.log('onChange', value, index, options)
  119. this.setData({
  120. value3: value,
  121. title3: index.map((n) => options[n].title),
  122. })
  123. },
  124. onConfirm: (value, index, options) => {
  125. console.log('onConfirm', value, index, options)
  126. this.setData({
  127. value3: value,
  128. title3: index.map((n) => options[n].title),
  129. })
  130. },
  131. })
  132. },
  133. })

视频演示

Select

API

参数 类型 描述 默认值
options object 配置项 -
options.prefixCls string 自定义类名前缀 wux-select
options.value any 指定当前选中的条目 -
options.options array 下拉列表 []
options.multiple boolean 是否支持多选 false
options.max number,stirng 最多选择几项,设置为 -1 的时候不限制选择 -1
options.toolbar any 工具栏配置项 {}
options.toolbar.title string 标题的文字 请选择
options.toolbar.cancelText string 取消按钮的文字 取消
options.toolbar.confirmText string 确定按钮的文字 确定
options.onChange function 选择完成后的回调函数 -
options.onConfirm function 点击确定按钮时的回调函数 -
options.onCancel function 点击取消按钮时的回调函数 -

下拉列表:options 参数请参考 RadioCheckbox