1、首先要知道操作数组的几个属性:
unshift():向数组的开头添加一个或更多元素,并返回新的长度。
shift():删除并返回数组的第一个元素。
splice() :删除元素,并向数组添加新元素。
push() :向数组的末尾添加一个或更多元素,并返回新的长度。
2、
// moveId表示那个要被操作的数据下标,index移动位置 1 上移 2 下移 3 置顶 4置底
moveDataIndex (moveId, index) {
// 为了防止数据抖动先把数据深克隆一份出来
let moveData = JSON.parse(JSON.stringify(this.tableData))
// 上移
if (index == 1) {
if (moveId != 0) {
moveData[moveId] = moveData.splice(moveId - 1, 1, moveData[moveId])[0];
} else {
moveData.push(moveData.shift());
}
}
// 下移
if (index == 2) {
if (moveId != moveData.length - 1) {
moveData[moveId] = moveData.splice(moveId + 1, 1, moveData[moveId])[0];
} else {
moveData.unshift(moveData.splice(moveId, 1)[0]);
}
}
// 置顶
if (index == 3) {
if (moveId != 0) {
moveData.unshift(moveData.splice(moveId, 1)[0]);
}
}
// 置顶
if (index == 4) {
if (moveId != moveData.length - 1) {
moveData.push(moveData.splice(moveId, 1)[0]);
}
}
this.tableData = moveData
},