this.$confirm 确定时的返回值
时间: 2023-07-06 17:16:48 浏览: 331
`this.$confirm` 返回的是一个Promise对象,你可以使用`.then()`方法来获取用户在弹出框中点击的按钮类型。`.then()`方法接收一个回调函数,该回调函数的第一个参数为用户点击的按钮类型,包括`confirm`和`cancel`。
例如,以下是一个示例代码:
```
this.$confirm('确定要删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 用户点击了确定按钮
console.log('用户点击了确定按钮');
}).catch(() => {
// 用户点击了取消按钮
console.log('用户点击了取消按钮');
});
```
在这个示例中,如果用户点击了确定按钮,控制台将输出`用户点击了确定按钮`;如果用户点击了取消按钮,控制台将输出`用户点击了取消按钮`。
相关问题
this.$confirm自定义标题样式
this.$confirm 是 Element UI 框架中的一个弹框组件,可以用来显示确认框。如果你想要自定义确认框的标题样式,可以在调用 this.$confirm 的时候传入一个对象作为参数,并设置 title 的属性值为一个函数,然后在这个函数中返回一个带有样式的标题。示例代码如下:
```
this.$confirm({
title: h => {
return <div style="color: red; font-size: 20px;">自定义标题样式</div>
},
// 其他属性
}).then(() => {
// 确认按钮的回调函数
}).catch(() => {
// 取消按钮的回调函数
})
```
在这个例子中,我们使用了 JSX 语法来生成一个带有样式的标题。你也可以使用普通的 HTML 代码来生成标题,只需要将返回值改为一个字符串即可。如果需要设置更多的样式,可以在 style 属性中添加 CSS 样式。
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: '删除成功!' }); 优化代码
可以将代码进行优化,主要有以下几个方面:
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)
}
```
这样,代码更加简洁易懂,同时也更加易于维护。
阅读全文