element-ui - element ui 表格多选问题: 如何判断当前行是打钩还是取消打钩状态?

查看:5285
本文介绍了element-ui - element ui 表格多选问题: 如何判断当前行是打钩还是取消打钩状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.问题如题
2.我之前是监听文档中的selection-change事件,这个事件会在选项发生变化时触发。但是现在需要在选中状态时设置参数,但是没有办法知道当前行是选中状态还是取消选中状态(因为这两种状态都会触发这个事件)。所以应该如何判断当前行是否选中呢?

解决方案

你不是一个人,之前我也有这个需求。看看有没有帮助。

copyChooseTchIds为data定义的存放保存选中的行。

selectChange(val, row){
    /* 1 => add ; 0 => remove*/
    let flag = 0;
    for(let i in val){
        if(row.id === val[i].id){
            flag = 1
            break;
        }
    }
    if(flag === 1){
        this.copyChooseTchIds.push(row);
    }
    else{
        for(let i in this.copyChooseTchIds){
            if(this.copyChooseTchIds[i].id == row.id)
                this.copyChooseTchIds.splice(i, 1);
        }
    }
},
selectAll(val){
    var v = this;
    //remove
    if(val.length == 0){
        for(let i in v.tableData){
            for(let j in v.copyChooseTchIds){
                if(v.copyChooseTchIds[j].id === v.tableData[i].id){
                    v.copyChooseTchIds.splice(j, 1);
                    break;
                }
            }
        }
    }
    if(v.copyChooseTchIds.length == 0){
        for(let i in val){
            v.copyChooseTchIds.push(val[i]);
        }
    }
    else{
        for(let i in val){
            let flag = false;
            for(let j in v.copyChooseTchIds){
                if(v.copyChooseTchIds[j].id === val[i].id){
                    flag = true;
                    break;
                }
            }
            if(!flag)
                v.copyChooseTchIds.push(val[i]);
        }
    }
    
},


监听的这俩。

这篇关于element-ui - element ui 表格多选问题: 如何判断当前行是打钩还是取消打钩状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆