ElementUI级联框回显问题

每一次错误的发生都是成长的开始!

在开发中使用Element的级联框回显后台返回的数据时产生了回显异常的问题。产生的问题点是各级联中已经选中正确的数据了,但是数据框中没有数据显示出来。如图:

有正确数据但无回显

正确显示应该是这样:

正确回显

问题所在:获取的后台数组数据未正确赋值。

正确获取的数组数据应该是这样:

正确的数组数据

但是在后台获取到的数据确是这样:

获取的错误数组数据

粗看这两组数据值一样,都有长度,也都是数组,但是他们却不真正相同。而我也一直没有注意到这个点,一直觉得已经获取到数据了,怀疑是element的级联数据绑定上有问题。排除这个问题后,还以为获取数据的代码逻辑上出现了差错,最终发现是由于异步函数的原因。

从后台查询数据是通过axios来完成的,由于数据的子父级关系,需要使用递归来查询并unshift数据到回显数组中,而我在递归函数中继续调用递归函数时忽略了关键字 await ,而且在外部调用递归函数的地方也忽略了关键字 await ,从而使数据虽然正常被添加到数组中,但是在vue完成数据更新时,回显数据数组中的数据长度为0,所以回显失败。只要在这两个地方增加 await 关键字让函数执行流程为“同步”后,获取数据就正确了。

这里主要牵涉到的是javascript的“同步”“异步”知识点。

具体问题代码点:

同步异步

总结:由于异步代码未同步执行造成的函数执行流程发生意外结果问题,所以该同步时且同步!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值