路径:
el-cascader回显开启多选,开启tag 导致的删除出现错误
具体配置
开启多选 开启tag 开启可删除 开启只显示末级
错误描述
当我根据后台数据回显后, 点击删除A 其实删除的确实B
解决方法
由于顺序错误的问题导致的, 回显顺序和数据源顺序不一样
分析:
el-cascader 的tag 是按照index排序的 所以 如果后端返回的数据顺序和你提交的顺序不一致就会出现 tag名称会回显出来 但是点击删除tag是删除的其他tag 通过remove-tag api 打印发现 当前id并不是当前name 的id 查看源码发现是 排序问题 但是怎么能让后端返回的顺序是你原始数据的顺序呢 ?
排坑:
查看官网例子发现数据是从小到大 ok 把后返返回数据排序sort 结果发现还是不对 排查数据
我草 后端数据 子父级id 居然没有关系!导致有些能tag能对应删除 有些不能 他妈的
既然我自己选择出来的tag 没问题 就说明 选出来的数据是有排序的 所以曲线救国 利用api在后端返回数据时 将选中数据赋值给绑定的值 就解决了排序问题