123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- import data from '../cascader/data'
- import ad from '../index/ad'
- const seasons = [
- ['王', '马', '蔡'],
- ['撕葱', '粑粑', '🏀'],
- ]
- const provinceLite = [{
- value: 'bj',
- label: '北京市',
- }, {
- value: 'zj',
- label: '浙江省',
- }, {
- value: 'gd',
- label: '广东省',
- disabled: true,
- }, {
- value: 'hn',
- label: '海南省',
- }, {
- value: 'cq',
- label: '重庆市',
- }, {
- value: 'sc',
- label: '四川省',
- }]
- const fieldNamesOptions = [
- {
- labelT: '选项一',
- valueT: '1',
- },
- {
- labelT: '选项二',
- valueT: '2',
- },
- {
- labelT: '选项三',
- valueT: '3',
- disabledT: true,
- },
- ]
- ad({
- data: {
- fieldNames: {
- label: 'labelT',
- value: 'valueT',
- disabled: 'disabledT',
- },
- fieldNamesOptions,
- value1: ['320000', '320800', '320831'],
- value2: [],
- value3: [],
- value4: [],
- asyncCols: 1,
- asyncOptions: provinceLite,
- displayValue1: '请选择',
- displayValue2: '请选择',
- displayValue3: '请选择',
- displayValue4: '请选择',
- displayValue5: '请选择',
- options: [],
- seasons,
- },
- onLoad() {
- this.setData({ options: data })
- },
- setValue(values, key) {
- this.setData({
- [`value${key}`]: values.value,
- [`displayValue${key}`]: values.label,
- })
- },
- onConfirm(e) {
- const { index } = e.currentTarget.dataset
- this.setValue(e.detail, index)
- console.log(`onConfirm${index}`, e.detail)
- },
- onValueChange(e) {
- const { index } = e.currentTarget.dataset
- console.log(`onValueChange${index}`, e.detail)
- if (index === '4') {
- this.setValue(e.detail, index)
- this.setData({ loading: true })
- setTimeout(() => {
- const val = e.detail.value
- const d = [...this.data.asyncOptions]
- const value4 = [...val]
- let colNum = 1
- if (val[0] === 'zj') {
- d.forEach((i) => {
- if (i.value === 'zj') {
- colNum = 2
- if (!i.children) {
- i.children = [{
- value: 'zj-nb',
- label: '宁波',
- }, {
- value: 'zj-hz',
- label: '杭州',
- }]
- value4.push('zj-nb')
- } else if (val[1] === 'zj-hz') {
- i.children.forEach((j) => {
- if (j.value === 'zj-hz') {
- j.children = [{
- value: 'zj-hz-xh',
- label: '西湖区',
- }]
- value4.push('zj-hz-xh')
- }
- })
- colNum = 3
- }
- }
- })
- } else {
- colNum = 1
- }
- this.setData({ asyncOptions: d, asyncCols: colNum, value4, loading: false })
- }, 300)
- }
- },
- onVisibleChange(e) {
- this.setData({ visible: e.detail.visible })
- },
- onClick() {
- this.setData({ visible: true })
- },
- })
|