vue el-table 设置多选

效果如图

实现:实现非常容易 在el-table-column中 type 设置selection ,我主要介绍与他相关几个效果

1.:selectable="selectable" 调用selectable函数返回false为多选禁用

2. @selection-change="selection" 可以通过selection方法接受参数,当你打印参数是多选选中的数据。

3.this.$refs.xxxxx.clearSelection(); 此方法用与取消选中

没了,嘿嘿其实在element文档都有,我为了加强记忆!!!

Vue3中,如果你想在`el-table`组件中实现并且对中的行数量进行限制,可以使用`v-model`绑定数组,并结合自定义事件处理和条件渲染。以下是一个简单的示例: 首先,在HTML模板部分: ```html <template> <el-table :data="tableData" v-bind:class="{ 'has-limit': selectedCount > maxSelect }" @selection-change="handleSelectionChange" > <!-- ...其他列... --> <el-table-column type="selection" width="55"></el-table-column> <el-table-column label="操作" width="100"> <template slot-scope="scope"> <el-button @click.prevent="removeRow(scope.$index)" disabled="selectedCount >= maxSelect">删除</el-button> </template> </el-table-column> </el-table> </template> ``` 然后,在JS部分: ```javascript <script> export default { data() { return { tableData: [], // 表格数据 selectedRows: [], // 存储中的行 maxSelect: 5, // 最大择数量 }; }, methods: { handleSelectionChange(rows) { this.selectedRows = rows; if (rows.length > this.maxSelect) { rows.splice(this.maxSelect); } this.$emit('max-select-reached', { rows, maxSelect: this.maxSelect }); }, removeRow(index) { if (this.selectedRows.includes(index)) { this.selectedRows.splice(index, 1); this.$emit('row-deleted', index); } }, }, }; </script> ``` 在这个例子中,当用户择新的行时,`handleSelectionChange`会被触发,检查是否超过最大择数,如果超过,则移除最远的行。同时,通过`@max-select-reached`自定义事件,你可以通知外部组件更新状态或显示提示。 注意:这个实现假设你已经在项目中引入了Element Plus库。如果你需要动态改变`maxSelect`值,可以在相应的业务逻辑处调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值