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