PS:批量方法也适用于单个元素移动哦~~~
1.批量删除
//this.tableData为数组。this.multipleSelection为选中的数组元素
//确定删除方法
deleteok() {
//console.log(this.multipleSelection);
for (let k = 0; k < this.multipleSelection.length; k++) {
this.tableData.splice(
this.tableData.findIndex(
item => item.id === this.multipleSelection[k].id
),
1
);
}
},
2.批量上移
//this.tableData为数组。this.multipleSelection为选中的数组元素
//上移方法
moveup() {
let arr = [];
for (let i = 0; i < this.multipleSelection.length; i++) {
arr.push(
this.tableData.findIndex(
item => item.id === this.multipleSelection[i].id
)
);
}
arr.sort((n1, n2) => n1 - n2);
for (let k = 0; k < arr.length; k++) {
let add = this.tableData;
if (arr[k] != 0) {
this.tableData[arr[k]] = this.tableData.splice(
arr[k] - 1,
1,
add[arr[k]]
)[0];
} else {
this.tableData.push(this.tableData.shift());
}
}
},
3.批量下移
//this.tableData为数组。this.multipleSelection为选中的数组元素
//下移方法
movedown() {
let arr = [];
for (let i = 0; i < this.multipleSelection.length; i++) {
arr.push(
this.tableData.findIndex(
item => item.id === this.multipleSelection[i].id
)
);
}
arr.sort((n1, n2) => n2 - n1);
for (let k = 0; k < arr.length; k++) {
let add = this.tableData;
if (arr[k] != this.tableData.length - 1) {
this.tableData[arr[k]] = this.tableData.splice(
arr[k] + 1,
1,
add[arr[k]]
)[0];
} else {
this.tableData.unshift(this.tableData.splice(index, 1)[0]);
}
}
},
4.批量置顶
//this.tableData为数组。this.multipleSelection为选中的数组元素
//置顶方法
topping() {
let arr = null;
for (let k = 0; k < this.multipleSelection.length; k++) {
arr = this.tableData.findIndex(
item => item.id === this.multipleSelection[k].id
);
this.tableData.unshift(this.tableData.splice(arr, 1)[0]);
}
},
5.批量置底
//this.tableData为数组。this.multipleSelection为选中的数组元素
//置底方法
setting() {
let arr = null;
for (let k = 0; k < this.multipleSelection.length; k++) {
arr = this.tableData.findIndex(
item => item.id === this.multipleSelection[k].id
);
let add = this.tableData;
if (arr != this.tableData.length - 1) {
this.tableData.push(add[arr]);
this.tableData.splice(arr, 1);
}
}
},