-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[严重BUG] Cascader 动态改变 data 和 model 时, 不能正确显示选中项 #1637
Comments
试了,并想了一下,这个不算是bug,Vue 的组件都是异步渲染的,所以在改变data后,改变v-model要在nextTick里进行。另,需更新iView到最新版本。 <template>
<div style="margin: 100px;width: 200px;">
{{ value }}
<Cascader v-model="value" :data="data" change-on-select></Cascader>
<Button @click="change">change</Button>
</div>
</template>
<script>
export default {
data () {
return {
value: [],
data: [{
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: [
{
value: 'zhuozhengyuan',
label: '拙政园',
},
{
value: 'shizilin',
label: '狮子林',
}
]
}
],
}]
}
},
methods: {
change () {
this.data = [{
value: 'beijing2',
label: '北京',
children: [
{
value: 'gugong2',
label: '故宫'
},
{
value: 'tiantan2',
label: '天坛'
},
{
value: 'wangfujing2',
label: '王府井'
}
]
}, {
value: 'jiangsu2',
label: '江苏',
children: [
{
value: 'nanjing2',
label: '南京',
children: [
{
value: 'fuzimiao2',
label: '夫子庙',
}
]
},
{
value: 'suzhou2',
label: '苏州',
children: [
{
value: 'zhuozhengyuan2',
label: '拙政园',
},
{
value: 'shizilin2',
label: '狮子林',
}
]
}
],
}];
this.$nextTick(() => {
this.value = ['beijing2', 'tiantan2'];
});
}
}
}
</script> |
select组件也存在这样的问题,感觉文档中加一下比较好,没有对vuejs理解很深刻的话,就卡壳了. |
This was referenced Aug 24, 2017
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://codepen.io/Baoyx007/pen/YxYxzQ
看了下源码, 可能是在Caspanel代码里,
下面的82行代码更新了 this.sublist, 但是 watch data 又会把它重置为空.
导致Caspanel没有子Caspanel. 无法接受下面的广播:
The text was updated successfully, but these errors were encountered: