关于element中el-cascader懒加载数据回显不上的bug

最近在项目开发中由于业务需求用到了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,不然回显也不会显示,如图:

  • 结尾

    文章写的略显粗糙,有不好的地方欢迎大佬指点。谢谢各位大佬!!!!

相关推荐
y先森33 分钟前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy33 分钟前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu108301891136 分钟前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿2 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡3 小时前
commitlint校验git提交信息
前端
虾球xz3 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇3 小时前
HTML常用表格与标签
前端·html
疯狂的沙粒3 小时前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript
小镇程序员4 小时前
vue2 src_Todolist全局总线事件版本
前端·javascript·vue.js
野槐4 小时前
前端图像处理(一)
前端