遇到这样一个需求,就是选择若干条数据后对他们进行批量操作,并与后台关联
页面代码
<div style="margin-top: 20px">
<el-button @click="speedupCheckbox" @current-change="handleSelectionChange">上线</el-button>
</div>
js代码
onlineUser () {
this.$confirm('此操作将无法撤回, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let arr = this.multipleSelection
let multis = []
for (let i = 0; i < arr.length; i++) {
multis.push(arr[i].username)
console.log(multis)
}
axios({
method: 'POST',
url: Config.context + 'url',
data: {
users: multis // 此项为传往后端的数据
}
}).then(rs => {
if (multis.length !== null) {
this.$message.success('操作成功')
} else {
this.$message.error('操作失败')
}
console.log(rs)
})
this.$refs.multipleTable.clearSelection() // 操作完成清除勾选框
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
})
})
},
// 选择框
speedupCheckbox: function () {
if (this.multipleSelection.length === 0) {
this.$message({
message: '请至少勾选一项,再进行操作',
type: 'warning'
})
} else {
this.onlineUser()
}
}