fixed bug under Vue 2.4.1
This commit is contained in:
parent
68b308ee83
commit
e6e970352d
2 changed files with 55 additions and 264 deletions
|
@ -1,273 +1,59 @@
|
||||||
<!--<template>-->
|
|
||||||
<!--<Row>-->
|
|
||||||
<!--<i-col span="4">-->
|
|
||||||
<!--<Button @click="handleLoad">load</Button>-->
|
|
||||||
<!--{{ v1 }}-->
|
|
||||||
<!--</i-col>-->
|
|
||||||
<!--<i-col span="4">-->
|
|
||||||
<!--<Cascader :data="data2" filterable v-model="v1" style="width: 200px;"></Cascader>-->
|
|
||||||
<!--<!–<Cascader :data="data2" filterable v-model="v1" :loadData="loadData"></Cascader>–>-->
|
|
||||||
<!--</i-col>-->
|
|
||||||
<!--</Row>-->
|
|
||||||
<!--</template>-->
|
|
||||||
<!--<script>-->
|
|
||||||
<!--export default {-->
|
|
||||||
<!--data () {-->
|
|
||||||
<!--return {-->
|
|
||||||
<!--v1: [],-->
|
|
||||||
<!--data2: [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'zhejiang',-->
|
|
||||||
<!--label: '浙江',-->
|
|
||||||
<!--children: [],-->
|
|
||||||
<!--loading: false-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'jiangsu',-->
|
|
||||||
<!--label: '江苏',-->
|
|
||||||
<!--children: [{-->
|
|
||||||
<!--value: 'nanjing',-->
|
|
||||||
<!--label: '南京',-->
|
|
||||||
<!--children: [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'zhonghuamen',-->
|
|
||||||
<!--label: '中华门'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'v1',-->
|
|
||||||
<!--label: 'v111'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'v2',-->
|
|
||||||
<!--label: 'v2222'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'v3',-->
|
|
||||||
<!--label: 'v333'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'v4',-->
|
|
||||||
<!--label: 'v4444'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'v5',-->
|
|
||||||
<!--label: 'v555'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'v6',-->
|
|
||||||
<!--label: 'v666'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'v7',-->
|
|
||||||
<!--label: 'v777'-->
|
|
||||||
<!--}-->
|
|
||||||
<!--]-->
|
|
||||||
<!--}]-->
|
|
||||||
<!--}-->
|
|
||||||
<!--],-->
|
|
||||||
<!--data3: [{-->
|
|
||||||
<!--value: 'beijing',-->
|
|
||||||
<!--label: '北京',-->
|
|
||||||
<!--children: [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'gugong',-->
|
|
||||||
<!--label: '故宫'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'tiantan',-->
|
|
||||||
<!--label: '天坛'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'wangfujing',-->
|
|
||||||
<!--label: '王府井'-->
|
|
||||||
<!--}-->
|
|
||||||
<!--]-->
|
|
||||||
<!--}, {-->
|
|
||||||
<!--value: 'jiangsu',-->
|
|
||||||
<!--label: '江苏',-->
|
|
||||||
<!--children: [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'nanjing',-->
|
|
||||||
<!--label: '南京',-->
|
|
||||||
<!--children: [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'fuzimiao',-->
|
|
||||||
<!--label: '夫子庙',-->
|
|
||||||
<!--}-->
|
|
||||||
<!--]-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'suzhou',-->
|
|
||||||
<!--label: '苏州',-->
|
|
||||||
<!--children: [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--disabled: true,-->
|
|
||||||
<!--value: 'zhuozhengyuan',-->
|
|
||||||
<!--label: '拙政园',-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'shizilin',-->
|
|
||||||
<!--label: '狮子林',-->
|
|
||||||
<!--}-->
|
|
||||||
<!--]-->
|
|
||||||
<!--}-->
|
|
||||||
<!--],-->
|
|
||||||
<!--}]-->
|
|
||||||
<!--}-->
|
|
||||||
<!--},-->
|
|
||||||
<!--methods: {-->
|
|
||||||
<!--handleLoad () {-->
|
|
||||||
<!--this.data2[0].loading = !this.data2[0].loading;-->
|
|
||||||
<!--},-->
|
|
||||||
<!--loadData (item, cb) {-->
|
|
||||||
<!--item.loading = true;-->
|
|
||||||
<!--setTimeout(() => {-->
|
|
||||||
<!--if (item.value === 'zhejiang') {-->
|
|
||||||
<!--item.children = [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'hangzhou',-->
|
|
||||||
<!--label: '杭州',-->
|
|
||||||
<!--loading: false,-->
|
|
||||||
<!--children: []-->
|
|
||||||
<!--}-->
|
|
||||||
<!--];-->
|
|
||||||
<!--} else if (item.value === 'hangzhou') {-->
|
|
||||||
<!--item.children = [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'ali',-->
|
|
||||||
<!--label: '阿里巴巴'-->
|
|
||||||
<!--}-->
|
|
||||||
<!--];-->
|
|
||||||
<!--}-->
|
|
||||||
<!--item.loading = false;-->
|
|
||||||
<!--cb();-->
|
|
||||||
<!--}, 1000);-->
|
|
||||||
<!--}-->
|
|
||||||
<!--}-->
|
|
||||||
<!--}-->
|
|
||||||
<!--</script>-->
|
|
||||||
|
|
||||||
<!--<template>-->
|
|
||||||
<!--<Cascader :data="data4" :load-data="loadData"></Cascader>-->
|
|
||||||
<!--</template>-->
|
|
||||||
<!--<script>-->
|
|
||||||
<!--export default {-->
|
|
||||||
<!--data () {-->
|
|
||||||
<!--return {-->
|
|
||||||
<!--data4: [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'beijing',-->
|
|
||||||
<!--label: '北京',-->
|
|
||||||
<!--children: [],-->
|
|
||||||
<!--loading: false-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'hangzhou',-->
|
|
||||||
<!--label: '杭州',-->
|
|
||||||
<!--children: [],-->
|
|
||||||
<!--loading:false-->
|
|
||||||
<!--}-->
|
|
||||||
<!--]-->
|
|
||||||
<!--}-->
|
|
||||||
<!--},-->
|
|
||||||
<!--methods: {-->
|
|
||||||
<!--loadData (item, callback) {-->
|
|
||||||
<!--item.loading = true;-->
|
|
||||||
<!--setTimeout(() => {-->
|
|
||||||
<!--if (item.value === 'beijing') {-->
|
|
||||||
<!--item.children = [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'talkingdata',-->
|
|
||||||
<!--label: 'TalkingData'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'baidu',-->
|
|
||||||
<!--label: '百度'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'sina',-->
|
|
||||||
<!--label: '新浪'-->
|
|
||||||
<!--}-->
|
|
||||||
<!--];-->
|
|
||||||
<!--} else if (item.value === 'hangzhou') {-->
|
|
||||||
<!--item.children = [-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: 'ali',-->
|
|
||||||
<!--label: '阿里巴巴'-->
|
|
||||||
<!--},-->
|
|
||||||
<!--{-->
|
|
||||||
<!--value: '163',-->
|
|
||||||
<!--label: '网易'-->
|
|
||||||
<!--}-->
|
|
||||||
<!--];-->
|
|
||||||
<!--}-->
|
|
||||||
<!--item.loading = false;-->
|
|
||||||
<!--callback();-->
|
|
||||||
<!--}, 1000);-->
|
|
||||||
<!--}-->
|
|
||||||
<!--}-->
|
|
||||||
<!--}-->
|
|
||||||
<!--</script>-->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<!--<Cascader :data="data4" :load-data="loadData" style="width: 200px;"></Cascader>-->
|
<Cascader v-model="value3" :data="data" filterable></Cascader>
|
||||||
<div>
|
|
||||||
<Cascader :data="data" v-model="model" :load-data="loadData"></Cascader>
|
|
||||||
<ul>
|
|
||||||
<li v-for="(log, idx) in logs" :key="idx">{{log}}</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
data4: [
|
data: [{
|
||||||
{
|
|
||||||
value: 'beijing',
|
value: 'beijing',
|
||||||
label: '北京',
|
label: '北京',
|
||||||
children: [],
|
children: [
|
||||||
loading: false
|
{
|
||||||
|
value: 'gugong',
|
||||||
|
label: '故宫'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 'hangzhou',
|
value: 'tiantan',
|
||||||
label: '杭州',
|
label: '天坛'
|
||||||
children: [],
|
},
|
||||||
loading:false
|
{
|
||||||
|
value: 'wangfujing',
|
||||||
|
label: '王府井'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
value: 'jiangsu',
|
||||||
|
label: '江苏',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
value: 'nanjing',
|
||||||
|
label: '南京',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
value: 'fuzimiao',
|
||||||
|
label: '夫子庙',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'suzhou',
|
||||||
|
label: '苏州',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
value: 'zhuozhengyuan',
|
||||||
|
label: '拙政园',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'shizilin',
|
||||||
|
label: '狮子林',
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
data: [],
|
}],
|
||||||
model: [340000, 340100, 340104],
|
value3: []
|
||||||
count: 1,
|
|
||||||
logs: []
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
loadData (item, callback) {
|
|
||||||
this.logs.push(`第${this.count}次请求: ${item.value}`)
|
|
||||||
this.count++
|
|
||||||
item.loading = true;
|
|
||||||
setTimeout(() => {
|
|
||||||
if (item.value === 340000) {
|
|
||||||
item.children = [
|
|
||||||
{value: 340100, label: "合肥市", children: [], loading: false}
|
|
||||||
];
|
|
||||||
} else if (item.value === 340100) {
|
|
||||||
item.children = [
|
|
||||||
{value: 340104, label: "蜀山区"},
|
|
||||||
{value: 340111, label: "包河区"}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
item.loading = false;
|
|
||||||
callback();
|
|
||||||
}, 1000);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.data = [{value: 340000, label: "安徽省", children: [], loading: false}];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<ul v-if="data && data.length" :class="[prefixCls + '-menu']">
|
<ul v-if="data && data.length" :class="[prefixCls + '-menu']">
|
||||||
<Casitem
|
<Casitem
|
||||||
v-for="item in data"
|
v-for="item in data"
|
||||||
:key="item"
|
:key="getKey()"
|
||||||
:prefix-cls="prefixCls"
|
:prefix-cls="prefixCls"
|
||||||
:data="item"
|
:data="item"
|
||||||
:tmp-item="tmpItem"
|
:tmp-item="tmpItem"
|
||||||
|
@ -17,6 +17,8 @@
|
||||||
import Emitter from '../../mixins/emitter';
|
import Emitter from '../../mixins/emitter';
|
||||||
import { findComponentUpward } from '../../utils/assist';
|
import { findComponentUpward } from '../../utils/assist';
|
||||||
|
|
||||||
|
let key = 1;
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Caspanel',
|
name: 'Caspanel',
|
||||||
mixins: [ Emitter ],
|
mixins: [ Emitter ],
|
||||||
|
@ -109,6 +111,9 @@
|
||||||
} else {
|
} else {
|
||||||
this.$parent.$parent.updateResult(result);
|
this.$parent.$parent.updateResult(result);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
getKey () {
|
||||||
|
return key++;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
|
Loading…
Add table
Reference in a new issue