开始

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png
把事件复制过来
image.png
三级联动的事件
image.png

image.png

image.png

把这个组件复制到我们的项目里
image.png

image.png

数据的js
image.png
复制过来这块代码。
image.png
主题颜色我们不需要变,直接写死即可
image.png
默认选中值复制过来
image.png

image.png


image.png

image.png
监听点击返回的事件
image.png
都复制过来
image.png
删掉上面复制的代码 。保留下面的if
image.png

image.png

image.png
我们只需要label
image.png

image.png
预留一个默认值
image.png

image.png

选中
image.png

2022年最新组件地址

内置组件==》表单组件==》picker
image.png

image.png
文件的路径
D:\demos\uni-app\hello-uni-app2022\pages\component\picker\picker.vue
主要代码:
image.png

  1. <picker mode="multiSelector" @columnchange="bindMultiPickerColumnChange" :value="multiIndex"
  2. :range="multiArray">
  3. <view class="u-f-ac">
  4. <view>
  5. {{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}},{{multiArray[2][multiIndex[2]]}}
  6. </view>
  7. <view class="icon iconfont icon-bianji1"></view>
  8. </view>
  9. </picker>

image.png

  1. multiArray: [
  2. ['亚洲', '欧洲'],
  3. ['中国', '日本'],
  4. ['北京', '上海', '广州']
  5. ],
  6. multiIndex: [0, 0, 0]

选择的事件方法
image.png

  1. bindMultiPickerColumnChange: function(e) {
  2. console.log('修改的列为:' + e.detail.column + ',值为:' + e.detail.value)
  3. this.multiIndex[e.detail.column] = e.detail.value
  4. switch (e.detail.column) {
  5. case 0: //拖动第1列
  6. switch (this.multiIndex[0]) {
  7. case 0:
  8. this.multiArray[1] = ['中国', '日本']
  9. this.multiArray[2] = ['北京', '上海', '广州']
  10. break
  11. case 1:
  12. this.multiArray[1] = ['英国', '法国']
  13. this.multiArray[2] = ['伦敦', '曼彻斯特']
  14. break
  15. }
  16. this.multiIndex.splice(1, 1, 0)
  17. this.multiIndex.splice(2, 1, 0)
  18. break
  19. case 1: //拖动第2列
  20. switch (this.multiIndex[0]) { //判断第一列是什么
  21. case 0:
  22. switch (this.multiIndex[1]) {
  23. case 0:
  24. this.multiArray[2] = ['北京', '上海', '广州']
  25. break
  26. case 1:
  27. this.multiArray[2] = ['东京', '北海道']
  28. break
  29. }
  30. break
  31. case 1:
  32. switch (this.multiIndex[1]) {
  33. case 0:
  34. this.multiArray[2] = ['伦敦', '曼彻斯特']
  35. break
  36. case 1:
  37. this.multiArray[2] = ['巴黎', '马赛']
  38. break
  39. }
  40. break
  41. }
  42. this.multiIndex.splice(2, 1, 0)
  43. break
  44. }
  45. this.$forceUpdate()
  46. },

最终效果
image.png

结束