项目中我们经常会遇到要删除、批量删除等操作。
我目前是以element ui 来说明的。
element 中有table 组件 在
<el-table :data="tableData" :border="true" height="450" @selection-change="handleSelectionChange">
<el-table-column
label="序号"
align="center"
type="selection"
show-overflow-tooltip
/>
</el-table
///其中的" @selection-change是规定事件 。 type="selection"是多选。
我们进行点击的时候会发现可以多选,全选和反选,就是触发@selection-change事件 。
我们在method方法里定义
handleSelectionChange(val){
console.log(val) // 一般得到的是以数组的形式
}
此时我们就要进行操作了
既然得到了数组,就可以去循环遍历每一项,然后拿到我们想要的值,在重新赋值就行 了
操作如下:
首先我在
data {return { ArrSelection: []’}} 定义一个全局的数组,
也可以不定义,我是觉得这样方便。
在上述的事件里面 以多选删除为例
// 多选框事件,得到id进行删除
handleSelectionChange(val) {
window.console.log(val) // 得到的是数组
const arr = [] // 定义一个数组
val.forEach((item, i) => {
console.log(item , ' item 是打印到选中的数组项', i, ‘i是下标’)
//既然得到了item 那么直接取item里的id或者其他值,为了防止错误,可以先打印结果。
console.log(item.id)
把id放到定义的数组里面去
arr.push(item.id)
console.log(arr) // 打印看看是不是在多选的情况下push到id
})
此时如果用到了全局的id,那么就可以赋值全局的数组了
this.ArrSelection = arr
console.log(this.ArrSelection, '/333333333333333')
},
我们此时要删除,就把删除的接口拿过来,把这个ArrSelection当做参数传给后台接口,最后重新加载tab列表的方法就可以了。
一般是点击的时候会出现弹框再次确认删除,你看需求是什么,这个方法爷那里就可以了