element el-cascader 回显 删除选项不是当前点击的

el-cascader回显开启多选,开启tag 导致的删除出现错误
具体配置
开启多选 开启tag 开启可删除 开启只显示末级
错误描述
当我根据后台数据回显后, 点击删除A 其实删除的确实B
解决方法
由于顺序错误的问题导致的, 回显顺序和数据源顺序不一样,

点击删除第一个会出现删除的是最后一个

el-cascader 显示的顺序是根据下拉列表的顺序展示的,并不是后台返回的顺序

 

 

分析:
     el-cascader 的tag  是按照index排序的 ,没有绑定id,所以删除是根据name对应的index删除的, 所以 如果后端返回的数据顺序和你提交的顺序不一致就会出现   tag名称会回显出来  但是点击删除tag是删除的其他tag   通过remove-tag   api 打印发现 当前id并不是当前name 的id    查看源码发现是  排序问题  但是怎么能让后端返回的顺序是你原始数据的顺序呢 ?

先拿到后台的数据然后赋值给cascader,然后根据getCheckedNodes获取 选中的值在赋值给绑定的数据

setTimeout(function() { //将id和name值对应
       console.log(vm.editDataList.fsUnit.fsUnitId)
       vm.editDataList.fsUnit.fsUnitId = 
       vm.$refs['cascader'].getCheckedNodes().map(function(node) {
            return node.value
       })
       console.log(vm.editDataList.fsUnit.fsUnitId)
}, 1000)

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值