el-table批量删除

  1. 1. template
  2. 2. js代码:

template

在el-table 标签里添加@selection-change=”????” , 事件名自定义,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<el-table
:data="state.search_check"
@selection-change="checkSelectionChange">

<el-table-column width="180">
<template #header slot-scope="scope">
<el-button type="text" @click="checkDialogTableVisible = true"
>增加</el-button
>
<el-button type="text" @click="delCheck">删除</el-button>
</template>
</el-table-column>

</el-table>

js代码:

点击选项,它会自动获取该行的数据,并将获取到的值赋值给一个临时的列表[]

1
2
3
4
5
6
7
8
9
10
11
const state = reactive({
temp_check: [], // 临时存的
check_request_table: [], //检查申请项
});



// 对话框表格复选框点击
const checkSelectionChange = (selVal) => {
state.temp_check = selVal;
};

遍历这个临时存储数据的列表,双层循环,内循环是对话框添加的多条数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 删除按钮
const delCheck = () => {
for (let i = 0; i < state.temp_check.length; i++) {
for (let j = 0; j < state.check_request_table.length; j++) {
if (
state.check_request_table[j].tech_name === state.temp_check[i].tech_name
) {
state.check_request_table.splice(j, 1);
j--;
}
}
}
math_total_price();
};