表格按钮点击渲染问题

遇到一个究极麻烦的问题:

vue的table组件,当点击父表时,字表的checked 值变化,但是颜色渲染没有,如图:

 (子组件按钮颜色渲染没有被监听到)

(但是值是有变化的)

解决 :只是因为有些初始方式没有被监听到(vue有时候很傻)

//选中变色
        checkedToggle(idx,i){
          const that=this;
          console.log(idx,i)
          if(typeof i=='undefined'){
            that.tableData[idx].checked=!that.tableData[idx].checked
            if(that.tableData[idx].checked){
              that.tableData[idx].list.forEach(val=>{
                this.$set(val,'checked',true);
               // val.checked=true
              })
            }else{
              that.tableData[idx].list.forEach(val=>{
                this.$set(val,'checked',false);
                //val.checked=false
              })
            }
            that.$set(that.tableData,idx,that.tableData[idx])
          }else{
            that.tableData[idx].list[i].checked=!that.tableData[idx].list[i].checked
            if(that.tableData[idx].list.every(v =>{return v.checked})){
              that.tableData[idx].checked=true
            }else{
              that.tableData[idx].checked=false
            }
            that.$set(that.tableData,idx,that.tableData[idx])
          }
        },

表格图标渲染的代码:

<i class="el-icon-success handle-icon" :class="{blue:scope.row.checked}" @click.stop="checkedToggle(scope.$index)"></i>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值