element el-cascader 级联选择器数据tag回显,删除tag bug

效果图:

 

问题描述当我根据后台数据回显后, 点击删除tagA 其实删除的是tagB

原因:由于顺序错误的问题导致的, 回显顺序和数据源顺序不一样

分析:

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

既然我自己选择出来的tag 没问题  就说明  选出来的数据是有排序的  所以曲线救国 ,在后端返回数据时 将选中数据赋值给绑定的值  就解决了排序问题

templete:

 js:

// 编辑
    handleEdit () {
      this.$axios
        .get(this.$server + '/organization/getOrgById', {
          params: {
            orgId: this.orgId
          }
        })
        .then(res => {
          if (res.data.code === '0') {
            if (res.data.data.reviewOrgIds) { // res.data.data.reviewOrgIds是要回显的数据
              this.formData1.reviewOrgIds = res.data.data.reviewOrgIds // 先赋值让tag先选中
              setTimeout(() => {
                this.formData1.reviewOrgIds = this.$refs.cascader.getCheckedNodes(true).map(res => {
                  return res.value
                }, 2000)
              }) // 这一步是 把他选中的数据选出来就是排序后的
            }
          }
        });
    },

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值