Commit 53a6915a943011be65074314aefd94e06f21aa03
1 parent
eaf51d3e
fixed Cascader bug
Showing
2 changed files
with
55 additions
and
52 deletions
Show diff stats
examples/routers/cascader.vue
1 | 1 | <template> |
2 | - <div style="margin: 100px;width: 200px;"> | |
3 | - <Cascader :data="data" v-model="value1" change-on-select></Cascader> | |
4 | - </div> | |
2 | + <Cascader :data="data4" :load-data="loadData"></Cascader> | |
5 | 3 | </template> |
6 | 4 | <script> |
7 | 5 | export default { |
8 | 6 | data () { |
9 | 7 | return { |
10 | - value1: [], | |
11 | - data: [{ | |
12 | - value: 'beijing', | |
13 | - label: '北京', | |
14 | - children: [ | |
15 | - { | |
16 | - value: 'gugong', | |
17 | - label: '故宫' | |
18 | - }, | |
19 | - { | |
20 | - value: 'tiantan', | |
21 | - label: '天坛' | |
22 | - }, | |
23 | - { | |
24 | - value: 'wangfujing', | |
25 | - label: '王府井' | |
26 | - } | |
27 | - ] | |
28 | - }, { | |
29 | - value: 'jiangsu', | |
30 | - label: '江苏', | |
31 | - children: [ | |
32 | - { | |
33 | - value: 'nanjing', | |
34 | - label: '南京', | |
35 | - children: [ | |
36 | - { | |
37 | - value: 'fuzimiao', | |
38 | - label: '夫子庙', | |
39 | - } | |
40 | - ] | |
41 | - }, | |
42 | - { | |
43 | - value: 'suzhou', | |
44 | - label: '苏州', | |
45 | - children: [ | |
46 | - { | |
47 | - value: 'zhuozhengyuan', | |
48 | - label: '拙政园', | |
49 | - }, | |
50 | - { | |
51 | - value: 'shizilin', | |
52 | - label: '狮子林', | |
53 | - } | |
54 | - ] | |
55 | - } | |
56 | - ], | |
57 | - }] | |
8 | + data4: [ | |
9 | + { | |
10 | + value: 'beijing', | |
11 | + label: '北京', | |
12 | + children: [], | |
13 | + loading: false | |
14 | + }, | |
15 | + { | |
16 | + value: 'hangzhou', | |
17 | + label: '杭州', | |
18 | + children: [], | |
19 | + loading:false | |
20 | + } | |
21 | + ] | |
22 | + } | |
23 | + }, | |
24 | + methods: { | |
25 | + loadData (item, callback) { | |
26 | + item.loading = true; | |
27 | + setTimeout(() => { | |
28 | + console.log(1) | |
29 | + if (item.value === 'beijing') { | |
30 | + item.children = [ | |
31 | +// { | |
32 | +// value: 'talkingdata', | |
33 | +// label: 'TalkingData' | |
34 | +// }, | |
35 | +// { | |
36 | +// value: 'baidu', | |
37 | +// label: '百度' | |
38 | +// }, | |
39 | +// { | |
40 | +// value: 'sina', | |
41 | +// label: '新浪' | |
42 | +// } | |
43 | + ]; | |
44 | + } else if (item.value === 'hangzhou') { | |
45 | + item.children = [ | |
46 | + { | |
47 | + value: 'ali', | |
48 | + label: '阿里巴巴' | |
49 | + }, | |
50 | + { | |
51 | + value: '163', | |
52 | + label: '网易' | |
53 | + } | |
54 | + ]; | |
55 | + } | |
56 | + item.loading = false; | |
57 | + callback(); | |
58 | + }, 1000); | |
58 | 59 | } |
59 | 60 | } |
60 | 61 | } | ... | ... |
src/components/cascader/caspanel.vue