const res = await this.$confirm('确实要删除吗?', '提示', { type: 'warning' }).catch((e) => { e }); if (res !== "confirm") return console.log('失败') const { msg, code } = await alarmProtocolDelete({ del: row.id }) if (code !== 200) return this.$message(msg); this.getlist() this.$message({ type: 'success', message: '删除成功!' }); 优化代码
时间: 2024-01-12 12:04:44 浏览: 159
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
可以将代码进行优化,主要有以下几个方面:
1. 将确认框的操作封装成一个函数,使其可复用,提高代码的可维护性。
2. 将确认框的返回值改成 boolean 类型的值,使代码更加简洁易懂。
3. 将删除操作和消息提示的操作封装成一个函数,使其可复用,同时也提高代码的可维护性。
修改后的代码如下:
```
// 封装确认框
const confirmDialog = (message) => {
return this.$confirm(message, '提示', { type: 'warning' })
.then(() => true)
.catch(() => false)
}
// 封装删除操作和消息提示
const deleteItem = async (id) => {
const { msg, code } = await alarmProtocolDelete({ del: id })
if (code !== 200) {
this.$message(msg)
return false
}
this.getlist()
this.$message({ type: 'success', message: '删除成功!' })
return true
}
// 使用封装后的代码
async handleDelete(row) {
const res = await confirmDialog('确实要删除吗?')
if (!res) return console.log('失败')
await deleteItem(row.id)
}
```
这样,代码更加简洁易懂,同时也更加易于维护。
阅读全文