Vue3 配合 element-plus 实现表格的跨页多选,我们只需要去研究下官方配置的属性和事件即可。
列表布局
注意的是 要给多选框设定type类型为selection。
注意的是 getRowKeys 方法中我们获取的是项目列表的每一项的id ,有可能数据返回的字段并不是id,我们要对接到后端,确定每条数据的唯一性标识。
//实现跨页面多选
const getRowKeys = (row: any) => {
return row.internalProblemId // row.id
}
const handleSelectionChange = (val: any) => {
emit('handleSelectionChange', val) // 即是被选中的数据,
}
我这里是推送出去的。
你也可以在你所需的页面定义个变量 ,接收 选中的数据 方便后边做处理。
接收的父组件页面事件处理
let delData= ref([]) // 选中的数据
//批量删除 表格复选框选中处理
const handleSelectionChange = (val: any) => {
delData.value = val
}
做批量操作的一般都是删除,我这就直接用删除举例了。
const confirmDel = () => {
let idList = delData.value?.map((v: any) => {
return v.projectProblemId
})
delBtnLoading.value = true
projectDel(idList) // 删除接口方法调用,自己封装就好了。
}
这样就完成了 批量跨页选择。