vxe-table实现多选,将多选的结果形成数组
时间: 2024-02-22 07:07:02 浏览: 67
Vue 使用vxe-table实现自定义分组合计及占比表组件
您可以使用v-model绑定一个数组,然后在多选框的change事件中将选中的值加入或从数组中删除即可。以下是一个示例代码:
```
<template>
<div>
<vxe-table :data="tableData" :columns="columns">
<template #checkbox="params">
<input type="checkbox" :checked="params.row.checked" @change="handleCheckboxChange(params.row)">
</template>
</vxe-table>
<div>选中的值:{{ selectedValues }}</div>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{ id: 1, name: '张三', checked: false },
{ id: 2, name: '李四', checked: false },
{ id: 3, name: '王五', checked: false },
],
columns: [
{ type: 'checkbox', width: 60, align: 'center' },
{ field: 'id', title: 'ID', width: 80 },
{ field: 'name', title: '姓名' },
],
selectedValues: []
}
},
methods: {
handleCheckboxChange(row) {
if (row.checked) {
this.selectedValues.push(row.id)
} else {
const index = this.selectedValues.indexOf(row.id)
if (index !== -1) {
this.selectedValues.splice(index, 1)
}
}
}
}
}
</script>
```
在上面的代码中,我们定义了一个名为`selectedValues`的数组,将其绑定到组件的数据中。然后在表格的多选框中,我们使用`@change`事件来处理选中状态的变化。如果多选框被选中,我们将它的ID加入`selectedValues`数组中;如果取消选中,我们从数组中删除它的ID。最后在页面上展示`selectedValues`数组即可。
阅读全文