多表格嵌套怎么控制每一行,每一行的操作互不影响

问题:多层table嵌套,第二层table有批量删除操作,批量删除按钮复选框选择后才会显示,怎么不影响其他层

解决:给每一行添加属性,batchDeleted,刚第二层table复选框被选择后 batchDeleted变为true

问题: 设置改变后,失去响应式,数据不更新,用this.$set(),触发页面更新

第一层table

<el-table
   :data="list"
   @expand-change="handleExpand"
   row-key="id"
 >
// 列表接口
this.list.forEach(item=> {
     item.batchBtn = false
 })

展开或者收起,复选框恢复原样

handleExpand(row) {
      this.$set(row, "loading", true);
      this.$set(row, "batchBtn", false);
      this.getProductSlot(row); // 第二层数据
  },

 

第二层table

 <el-table :data="props.row.slots" 
    @selection-change="(val) =>{
        handleSelectionChange(val,props.row,props.$index)
    }">
handleSelectionChange(val,row,index) {
      this.multipleSelection = val.map((value) => value.id);
      if(this.multipleSelection.length> 0) {
        row.batchBtn = true
      } else {
        row.batchBtn = false
      }
      this.$set(this.list,index,row)
    },
table中selection复选框根据条件禁用某一行
<el-table-column
   type="selection"
   :selectable="checkboxDisabled"
   width="55"
>
</el-table-column>

 checkboxDisabled(row){
      if(row.state === 'free') { // 条件
        return false // 禁用
      }else{
        return true  // 不禁用
      }
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值