最近在项目开发中由于业务需求用到了el-cascader,刚开始用时很顺利、很快乐;但是等数据保存完修改要回显时,问题就来了,一个头两个大,下面就来说说具体的问题以及解决的办法;欢迎大佬指正,提出意见见解......
- 用法
这里就讲一下props的leaf属性:就是定义一个树行isLeaf,isLeaf等于true就是末级,就不会有后面的箭头;
-
代码示例 懒加载获取数据
-
问题描述:
当页面刚开始第一次打开弹框,回显是没有问题的,然后关了弹框,再次打开回显就回显不上(只要不是第一次,后面都回显不上)
这里可以看到带一次弹框打开时this. <math xmlns="http://www.w3.org/1998/Math/MathML"> r e f s . c a s c a d e r 是 u n d e f i n e d ;后面在关闭时 t h i s . refs.cascader是undefined;后面在关闭时this. </math>refs.cascader是undefined;后面在关闭时this.refs.cascader这个dom还是在的;后面弹框再打开回显应该不是回显的对应的这个dom上,我这里猜测每次应该是回显的dom不一样才会导致回显会不显示。大佬觉得这里有讲的部队的地方欢迎指正。
-
解决办法
直接给这个表单加一个v-if,如图:
-
注意点
我们在回显数据时先拿到第一级的数据,然后在拿第二级的数据的时候,options配置的懒加载数据给children赋值的时候,我们要用this.$set,不然回显也不会显示,如图:
-
结尾
文章写的略显粗糙,有不好的地方欢迎大佬指点。谢谢各位大佬!!!!