Element-UI级联选择器el-cascader报错Cannot read property 'level' of null的解决方法

今天在使用element ui的el-cascader时发现一个问题,就是多次操作页面时如果上一次在页面中对el-cascader的值进行了修改,特别是添加了项目后再次打开操作就会出现Cannot read property 'level' of null的错误提示,并且el-cascader上面的值还是上一次设置的值,而且这个组件会处与一个卡死的状态。


已经1个小时的研究发现,el-cascader中的options在初始给用户选择了一个key值,,比如我111,但如果options的数据后面做了修改,而新的options中不存在key为111的数据了,就会出现Cannot read property 'level' of null的错误


image.png

解决方法

    给el-cascader组件加一个key值

    当用户切换options数据时,重新渲染el-cascader组件给级联选择器绑定 key 值

    通过 watcher 监听options变化

    当options变化时,改变key值,进而实现组件重新渲染

   

    程序实现如下:

data(){
    return:{
        refresh:0
    }
}
<el-cascader
   :key="refresh"      
   placeholder="请选择父节点"
   clearable
   v-model="form.parentid"
   :options="watchTree"
   :props="{ value: 'areaId',label: 'areaName',}">
</el-cascader>
watch:{
   	watchTree:function(){
   		++this.refresh 
   	}
   },


关键词:element
上一篇 下一篇


读后有收获可以支付宝请作者喝枸杞,有疑问也可以加作者讨论:





友情链接
@寅春树 豫ICP备20020705号 Powered by Thinkcmfx