index.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. import ad from '../index/ad'
  2. import data from './data'
  3. const fieldNamesOptions = [
  4. {
  5. labelT: '选项一',
  6. valueT: '1',
  7. childrenT: [{
  8. labelT: '选项一(1)',
  9. valueT: '11',
  10. }],
  11. },
  12. {
  13. labelT: '选项二',
  14. valueT: '2',
  15. childrenT: [{
  16. labelT: '选项二(2)',
  17. valueT: '22',
  18. }],
  19. },
  20. {
  21. labelT: '选项三',
  22. valueT: '3',
  23. disabledT: true,
  24. },
  25. ]
  26. ad({
  27. data: {
  28. fieldNames: {
  29. label: 'labelT',
  30. value: 'valueT',
  31. disabled: 'disabledT',
  32. children: 'childrenT',
  33. },
  34. fieldNamesOptions,
  35. options1: data.slice(0, 2),
  36. value1: [],
  37. value1: ['110000', '110000', '110102'],
  38. title1: '请选择',
  39. options2: [
  40. {
  41. value: 'beijing',
  42. label: '北京',
  43. isLeaf: false,
  44. },
  45. {
  46. value: 'hangzhou',
  47. label: '杭州',
  48. isLeaf: false,
  49. },
  50. ],
  51. value2: [],
  52. title2: '请选择',
  53. options3: data.slice(0, 2),
  54. value3: [],
  55. title3: '请选择',
  56. value4: [],
  57. title4: '请选择',
  58. },
  59. onOpen1() {
  60. this.setData({ visible1: true })
  61. },
  62. onClose1() {
  63. this.setData({ visible1: false })
  64. console.log('onClose1')
  65. },
  66. onChange1(e) {
  67. console.log('onChange1', e.detail)
  68. },
  69. onConfirm1(e) {
  70. console.log('onConfirm1', e.detail)
  71. this.setData({ title1: e.detail.options.map((n) => n.label).join('/') })
  72. },
  73. onOpen2() {
  74. this.setData({ visible2: true })
  75. },
  76. onClose2() {
  77. this.setData({ visible2: false })
  78. },
  79. onChange2(e) {
  80. console.log('onChange2', e.detail)
  81. this.setData({ value2: e.detail.value, title2: e.detail.done ? e.detail.options.map((n) => n.label).join('/') : '请选择' })
  82. },
  83. onLoadOptions(e) {
  84. console.log('onLoadOptions', e.detail)
  85. const { value } = e.detail
  86. const options2 = [...this.data.options2]
  87. wx.showLoading({ mask: true })
  88. setTimeout(() => {
  89. if (value[value.length - 1] === 'beijing') {
  90. options2.forEach((n) => {
  91. if (n.value === 'beijing') {
  92. n.children = [
  93. {
  94. value: 'baidu',
  95. label: '百度',
  96. },
  97. {
  98. value: 'sina',
  99. label: '新浪',
  100. },
  101. ]
  102. }
  103. })
  104. } else if (value[value.length - 1] === 'hangzhou') {
  105. options2.forEach((n) => {
  106. if (n.value === 'hangzhou') {
  107. n.children = [
  108. {
  109. value: 'ali',
  110. label: '阿里巴巴',
  111. },
  112. {
  113. value: '163',
  114. label: '网易',
  115. },
  116. ]
  117. }
  118. })
  119. }
  120. wx.hideLoading()
  121. this.setData({ value2: value, options2 })
  122. }, 1000)
  123. },
  124. onOpen3() {
  125. this.setData({ visible3: true })
  126. },
  127. onClose3() {
  128. this.setData({ visible3: false })
  129. console.log('onClose3')
  130. },
  131. onChange3(e) {
  132. console.log('onChange3', e.detail)
  133. },
  134. onConfirm3(e) {
  135. console.log('onConfirm3', e.detail)
  136. this.setData({ value3: e.detail.value, title3: e.detail.options.map((n) => n.label).join('/') })
  137. },
  138. onTabsChange3(e) {
  139. console.log('onTabsChange3', e.detail)
  140. },
  141. onOpen4() {
  142. this.setData({ visible4: true })
  143. },
  144. onClose4() {
  145. this.setData({ visible4: false })
  146. console.log('onClose4')
  147. },
  148. onChange4(e) {
  149. console.log('onChange4', e.detail)
  150. },
  151. onConfirm4(e) {
  152. console.log('onConfirm4', e.detail)
  153. this.setData({ title4: e.detail.options.map((n) => n.label).join('/') })
  154. },
  155. })