_this.$confirm 同步
时间: 2023-08-14 08:11:46 浏览: 280
`this.$confirm`是Vue.js中Element UI库中的一个方法,用于显示一个对话框。在同步的情况下,您可以通过以下方式使用它:
```javascript
this.$confirm('确认信息', '标题', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 用户点击了确定按钮时执行的操作
}).catch(() => {
// 用户点击了取消按钮时执行的操作
});
```
在以上代码中,`this.$confirm`方法接受三个参数:
- 第一个参数是确认对话框中显示的确认信息。
- 第二个参数是对话框的标题。
- 第三个参数是一个配置对象,可用于自定义对话框的按钮文本、样式等。
当用户点击确认按钮时,`then`方法中的回调函数将被执行,而当用户点击取消按钮时,`catch`方法中的回调函数将被执行。您可以在这些回调函数中编写相应的逻辑来处理用户的操作。
相关问题
this.$confirm不要异步执行
根据提供的引用内容,我了解到您想要让this.$confirm不要异步执行。根据Vue官方文档,this.$confirm是一个异步方法,它返回一个Promise对象。如果您希望它变成同步执行,您可以使用async/await关键字将其包装在一个async函数中。下面是一个示例代码:
```javascript
async yourFunction() {
await this.$confirm('确认执行此操作吗?');
// 在这里执行您的代码
}
```
通过将this.$confirm包装在async函数中,并使用await关键字等待其执行完成,您可以实现将其变为同步执行。
代码解释 addDepart(type, id) { if (type === 'add') { // 打开添加子部门弹层 this.showDialog = true this.currentId = id } else if (type === 'edit') { // 打开编辑部门弹层 this.showDialog = true // 调用子组件的获取部门详情的方法 this.currentId = id // 拿到的是组件实例 this.$refs.addDept // 更新props- 异步动作 // 直接调用了子组件的方法 是同步的方法 // 要在子组件获取数据 // 父组件调用子组件的方法来获取数据 this.$nextTick(() => { this.$refs.addDept.getDepartmentDetail() }) // setTimeout(() => { // this.$refs.addDept.getDepartmentDetail() // }, 2000) } else { // 执行删除操作 this.$confirm('此操作将永久删除该部门, 是否继续?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'error' }) .then(async () => { await delDepartmentApi(id) // 重新获取部门数据 this.getDepartmentList() this.$message({ type: 'success', message: '删除成功!' }) }) .catch(() => { this.$message({ type: 'info', message: '已取消删除' }) }) } },
这是一个Vue组件中的一个方法,其作用是根据传入的参数type和id,执行不同的操作。如果type为'add',则会打开一个添加子部门的弹层;如果type为'edit',则会打开一个编辑部门的弹层,并调用子组件的方法来获取部门详情的数据;如果type不为'add'或'edit',则会执行删除操作,弹出一个确认框,用户点击“确定”后会调用异步方法删除部门,并重新获取部门数据,弹出删除成功的提示信息。
阅读全文