使用场景:到数据量特别大时,执行一次查询非常消耗时间;
1.添加修改数据
let data = await this.$axios.get(url, {params}) // 执行添加或修改数据接口
if(当为添加数据时){
let myTable = this.tableData // 临时数据源
this.tableData = [] // 清空数据源
let row = {} // 定义一个当前添加数据的行
row.id = data.resultData
row.username = this.model.loginName
row.password = this.model.loginPassWrd
row.nickname = this.model.nickName
row.email = this.model.email
row.phone = this.model.phone
row.status = this.model.status == true ? 1 : 0
this.tableData.push(row) // 添加到数据源中
myTable.forEach((item, i) => { // 循环临时数据源
if (i < this.pageSize - 1){ // 循环 列表要显示的条数 - 1
this.tableData.push(item) // 添加到数据源中
}
})
}
if(当为修改数据时){ // currIndex:为当前编辑行索引
this.tableData[this.currIndex].username = this.model.loginName
this.tableData[this.currIndex].password = this.model.loginPassWrd
this.tableData[this.currIndex].nickname = this.model.nickName
this.tableData[this.currIndex].email = this.model.email
this.tableData[this.currIndex].phone = this.model.phone
this.tableData[this.currIndex].status = this.model.status == true ? 1 : 0
}
2.删除数据
let data = await this.$axios.get(url, {params})
if (删除成功后) {
rows.splice(index, 1)
}
如果后台执行数据库操作很快时,直接调用查询接口就行。
可能还有更好的方法暂时没先到。