<el-table
:cell-style="{ textAlign: 'center' }"
:header-cell-style="{ textAlign: 'center', background: '#f2f2f2' }"
ref="multipleTable"
:data="tableTeacherData.data"
style="width: 100%"
stripe
:row-key="
(row) => {
return row.t_id
}
"
:border="true"
:align="'center'"
empty-text="暂无数据"
@selection-change="handleSelectionChange"
>
- 首先我们要在el-table上添加:row-key这个数据绑定唯一标识
- 然后在勾选框中添加 `:reserve-selection="true"属性
<el-table-column type="selection" width="55" :reserve-selection="true" />
-
然后就是handleSelectionChange这个方法的实现
//多选 const multipleTable = ref(null) //列表组件实例 const multipleSelection = ref([]) // 当前页选中的数据 const handleSelectionChange = (val) => { multipleSelection.value = val } //获取翻页之后勾选的状态 const changePageCoreRecordData = () => { let data = props.getSelectionArray if (data.length) { data.forEach((v) => { nextTick(() => { multipleTable.value.toggleRowSelection(v, true) }) }) } } changePageCoreRecordData()
然后就是数据回显 首先我们将勾选的数据保存起来用一个数据接收 ,我这里是一个组件,所以我的值是从外面传进来的,然后就是遍历数据来进行勾选
const props = defineProps({ modelValue: { type: Boolean }, getSelectionArray: { type: Array }, })