多个table的选中问题

22 篇文章 3 订阅

多个table的选中问题

场景:循环出来多个table,最后拿到所有选中的数据

出现的问题:比如先选择第一个table的某些数据,再去选另外的table,这样selection里面只有最后选中的table的数据。

解决方法:在selection-change里面传index,再进行进行存数据

在这里插入图片描述

<div class="wrapper" v-for="(item,index) in tableData" :key="index">
    <div class="top-title">
        <span>姓名:{{ item.name }}</span>
    </div>
    <div class="content-table">
        <el-table
            ...
            :data="item.list"
            @selection-change="(selection) => { selectionChange(selection,index)}"
            ... 
        ></el-table>
    </div>
</div>
data() {
    return {
        tableData: []
    	selectList: [],
        userSelected: []
    }
},
methods: {
    selectionChange(selection,index) {
        let data = [];
        data[index] = section;
        this.selectList[index] = data[index];
        let arr = [];
        this.selectList.map(item => {
            arr = arr.concat(item)
        })
        // userSelected即为最终的拿到的所有table里面选中的数据
        this.userSelected = arr;
    }
}
在Vue2中,如果你想要实现table勾选回显,可以使用`toggleRowSelection`方法和`clearSelection`方法来实现。在你提供的代码中,`toggleSelection`方法中使用了`this.$refs.multipleTable.toggleRowSelection(\[{id:0}, {id:1}\])`来切换选中状态。这里的`multipleTable`是通过`ref`属性指定的表格的引用名。`toggleRowSelection`方法接受一个包含要切换选中状态的行的数据的数组作为参数。在这个例子中,`\[{id:0}, {id:1}\]`表示要切换id为0和1的行的选中状态。如果你想要清除所有的选中状态,可以使用`this.$refs.multipleTable.clearSelection()`。这样就可以实现table勾选回显了。\[2\] 另外,你提到在你的公司项目中,是根据接口数据渲染完成后才进行操作,并且使用了`key1`来回显多选框。但是在这个练习项目中,你发现需要使用`key2`才能显示出来。这可能是因为在不同的项目中,数据的结构和命名可能有所不同,所以需要根据具体情况来确定使用哪个属性来回显多选框。\[3\] #### 引用[.reference_title] - *1* [Vue + element-ui 分页回显、勾选回显](https://blog.csdn.net/YourNikee/article/details/102543311)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [[Vue] el-table多选框中回显问题](https://blog.csdn.net/m0_63834711/article/details/126865182)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值