//置顶
async stickHonor(index) { //index为数据当前下标
let obj = this.honorList[index];
const id = obj.id;
obj.isStick = 1;
console.log(id);
const isStick = 1; //置顶状态
const res = await stickStudentHonors({ id,isStick }); //调用接口改变数据状态
//删除之前的位置的数据
this.honorList.splice(index, 1);
//在数组下标为0插入数据,每次置顶数据都是在最前面
this.honorList.splice(0, 0, obj);
},
//取消置顶
async unstickHonor(index) { //index为数据当前下标
let sum = 0;
for (let data of this.honorList) {
if (data.isStick == 1) {
sum++;
}
}
let obj = this.honorList[index];
const id = obj.id;
const isStick = 0; //为不置顶
const res = await stickStudentHonors({ id,isStick }); //调用接口改变数据的状态
obj.isStick = 0;
//删除之前的位置的数据
this.honorList.splice(index, 1);
//置顶数据下面插入数据,因为sum把之前自己置顶的也算进去,所以sum-1
this.honorList.splice(sum-1, 0, obj);
}
因为splice()方法为vue数组的响应式方法,所以会自动刷新数据