vue table 表格记录选中

默认全部选中

<el-table :data="tableParams.data"
                            ref="multipleTable"
                            v-loading="loadingTable"
                            @select-all="handleSelectionAll"
                            @select="handleSelectionChange"

//选中记录
let snArary=selection.map(item => item.SN);
                        let deselectedRows = this.tableParams.data.filter(row => !snArary.includes(row.SN)).map(item=>item.SN);
                        this.selectedData=Array.from(new Set([...this.selectedData, ...snArary]));
                        this.selectedData = this.selectedData.filter((item) => {
                            if (deselectedRows.includes(item)) {
                            this.select_nums++; // 重新选中时,选择数量加1
                            return false; // 过滤掉重新选中的数据
                            }
                            return true; // 保留取消选择的数据
                        });

                        this.select_nums=this.selectedData.length;



 //全选判断
                    let snArary=selection.map(item => item.SN);
                    let deselectedRows = this.tableParams.data.filter(row => !snArary.includes(row.SN)).map(item=>item.SN);
                    if (deselectedRows.length>0) {
                            this.CaneclData=Array.from(new Set([...this.CaneclData, ...deselectedRows]));

                    }
                    this.CaneclData = this.CaneclData.filter((item) => {
                            if (snArary.includes(item)) {
                            this.select_nums++; // 重新选中时,选择数量加1
                            return false; // 过滤掉重新选中的数据
                            }
                            return true; // 保留取消选择的数据
                        });

                        this.select_nums = this.total - this.CaneclData.length;

posted @ 2024-07-16 20:38  尘梦  阅读(26)  评论(0编辑  收藏  举报