el-switch 通过请求的结果开启/关闭
// 说明:el-switch的change事件只能拿到开关改变后的值,所以这里用input事件,并使用value绑定值,不使用v-model绑定
// 模板代码
// js代码
// 切换三元组状态
changeTernaryFlag(row, val) {
const data = {
id: row.id,
ternaryFlag: val
}
this.$confirm(`确定要${str}改变信息吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
changeStatus(data).then(res => {
loading.close()
if (res.data.code === '200') {
// 请求成功 修改状态
for (const i in this.tableData) {
let item = this.tableData[i]
if (item.id === row.id) {
let temData = this.tableData
temData[i].ternaryFlag = val
this.tableData = temData
// this.$set()
break
}
}
this.$message({
type: 'success',
message: `${str}成功!`
})
} else {
this.$message.error(res.data.msg)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: `${str}失败!`
})
})
}
}