el-tree中default-checked-keys属性出现减少数据不生效的问题

问题描述

比如我开始selectedMenus里的数据是【1,2,3,4,5,6】,在我想要进行修改里面数据的时候:
selectedMenus=【1,2,3,5】
只要是原数组的子数组,el-tree的展示都会出问题:即展示的是上一个折叠面板的勾选状态

<el-collapse v-model="activeName" accordion @change="change">
        <el-collapse-item v-for="(r,index) in roles" :key="index" :name="r.id" :title="r.nameZh">
          <div>
            <el-card class="box-card">
              <div slot="header" class="clearfix">
                <span>可访问资源</span>
                <el-button icon="el-icon-delete" style="float: right; padding: 3px 0;color: #ff0000;"
                           @click="deleteRole(r)"></el-button>
              </div>
              <div>
                <el-tree
                    ref="tree"
                    :data="allMenus"
                    :default-checked-keys="selectedMenus"
                    :props="defaultProps"
                    node-key="id"
                    show-checkbox></el-tree>
                <div style="display: flex;align-items: flex-end;justify-content: flex-end">
                  <el-button @click="cancelUpdate">取消修改</el-button>
                  <el-button type="primary" @click="doUpdate(r.id,index)">确认修改</el-button>
                </div>
              </div>
            </el-card>
          </div>
        </el-collapse-item>
      </el-collapse>
initSelectedMenus(rid) {
      this.getRequest("/system/basic/permiss/" + rid).then(resp => {
        if (resp) {
          this.roles.forEach((r,index)=>{
            //console.log(index);
            if(rid===r.id){
              //console.log(index);
              this.$refs.tree[index].setCheckedKeys(resp);
            }
          })
        }
      })
    }
解决方法

不要用简单的赋值方法,即selectedMenus=resp,修改成上面的this.$refs.tree[index].setCheckedKeys(resp);方式

参考文章
el-tree中default-checked-keys属性变化不生效

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值