vant的级联选择器动态添加children数据后,级联选择器怎么重新渲染并显示出添加的数据
时间: 2023-11-22 12:54:01 浏览: 89
在动态添加了子级数据后,可以通过调用级联选择器的 `reset` 方法来重新渲染并显示出添加的数据。
具体步骤如下:
1. 在 Vue 组件中,通过 `this.$refs` 获取到级联选择器组件的引用。
2. 动态添加子级数据后,调用级联选择器的 `reset` 方法,该方法会重新初始化级联选择器的数据,并触发级联选择器的刷新。
3. 如果需要在级联选择器刷新后,将其选中的值设置为动态添加的数据,则需要在 `reset` 方法调用后,使用 `$nextTick` 方法等待 DOM 渲染完成后,再设置级联选择器的选中值。
代码示例:
```html
<template>
<van-cascader
ref="cascader"
:options="options"
@change="handleChange"
/>
</template>
<script>
export default {
data() {
return {
options: [
{
value: '1',
label: 'Option 1',
children: []
},
{
value: '2',
label: 'Option 2',
children: []
}
]
}
},
methods: {
// 动态添加子级数据
addChildren() {
this.options[0].children = [
{ value: '11', label: 'Option 1-1' },
{ value: '12', label: 'Option 1-2' },
{ value: '13', label: 'Option 1-3' }
]
this.$refs.cascader.reset() // 重新渲染并显示出添加的数据
this.$nextTick(() => {
this.$refs.cascader.setValues(['1', '11']) // 设置级联选择器的选中值
})
},
handleChange(value) {
console.log(value)
}
}
}
</script>
```
阅读全文