Error in callback for watcher "options": "TypeError: Cannot read property 'level' of null TypeError
开发时用到了动态cascader级联选择器,发现切换数据源的时候报错
解决方法:重新加载组件。
- 方法1:v-if
给cascader设置v-if,改变类型后,赋值options前将v-if设置为true就可以重新渲染cascader。
(但是这样有个缺陷就是不流畅,v-if设置为false时cascader的位置会空白,影响用户体验) - 方法2:动态key值
给cascader设置一个key,切换数据源时改变key值,key值改变了,cascader就会重新渲染
<template>
<el-cascader
:options="dataForType"
:key="cascaderKey" //绑定自增数值,或者数据源的唯一标识皆可
:props="props"
:show-all-levels="false"
filterable
v-model="dataRefValue"
>
</el-cascader>
</template>
<script>
export default{
data(){
return {
cascaderKey:1
}
},
methods:{
//切换数据源
changeMenu(){
++this.cascaderKey
}
}
}
</script>