Ant Design Vue全局對話確認框(confirm)的回調(diào)不觸發(fā)
Ant Design Vue全局對話確認框的回調(diào)不觸發(fā)
我們先來看下官網(wǎng)給的案例和代碼。
<template>
? <a-button @click="showConfirm">
? ? Confirm
? </a-button>
</template>
<script>
export default {
? methods: {
? ? showConfirm() {
? ? ? this.$confirm({
? ? ? ? title: 'Do you want to delete these items?',
? ? ? ? content: 'When clicked the OK button, this dialog will be closed after 1 second',
? ? ? ? onOk() {
? ? ? ? ? return new Promise((resolve, reject) => {
? ? ? ? ? ? setTimeout(Math.random() > 0.5 ? resolve : reject, 1000);
? ? ? ? ? }).catch(() => console.log('Oops errors!'));
? ? ? ? },
? ? ? ? onCancel() {},
? ? ? });
? ? },
? },
};
</script>官網(wǎng)給了兩個回調(diào)一個是onOk 點擊確認的回調(diào),還有一個是onCancel 是點擊取消的回調(diào)。
但是我們使用了 就會發(fā)現(xiàn)里面的一些使用到this指向不對。導致里面需要用到this的功能都失效。
解決辦法
只需要把這兩個回調(diào)(onOk、onCancel)改成箭頭函數(shù)即可。
代碼如下:
// 刪除
deleteItem (row) {
this.$confirm({
title: '提示',
content: '您是否確認刪除該組織?',
// 點擊確認觸發(fā)的回調(diào)
onOk: () => {
// 這里模擬請求刪除的接口
setTimeout(() => this.$message.success('刪除成功!'), 1000)
},
// 點取消觸發(fā)的回調(diào)
onCancel: () => {
this.$message.success('你已經(jīng)取消此操作!')
}
})
},ant design confirm確認框的應(yīng)用
用法如下:
this.$confirm({
// iconClass: 'el-icon-question', //自定義圖標樣式
title: '提示',
content: '賬戶名稱與企業(yè)名稱不一致,請確認是否提交?',
confirmButtonText: '確認', //確認按鈕文字更換
cancelButtonText: '取消', //取消按鈕文字更換
showClose: true, //是否顯示右上角關(guān)閉按鈕
type: 'warning', //提示類型 success/info/warning/error
onOk:() => {
this.doSave(_this.mdl)
.then((res) => {
if (res.success) {
_this.$message.success('保存成功')
_this.$emit('ok')
} else {
_this.$message.error(res.message)
}
})
.catch((err) => {
console.error(err)
})
.finally(() => {
_this.confirmLoading = false
_this.close()
})
onCancel() {
},
}
})需要注意的是onOk中調(diào)用vue的方法doSave,此時需要用箭頭函數(shù)寫法,不然this指向出現(xiàn)問題,調(diào)不到doSave。
- onOk為點擊‘’確認‘’觸發(fā)的事件
- onCancel為點擊‘’取消‘’觸發(fā)的事件
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vuex數(shù)據(jù)持久化的兩種實現(xiàn)方案
在vuex的時候刷新以后里面存儲的state就會被瀏覽器釋放掉,因為我們的state都是存儲在內(nèi)存中的,所以一刷新頁面就會把state中的數(shù)據(jù)重置,這就涉及到vue數(shù)據(jù)持久化的問題,這篇文章主要給大家介紹了關(guān)于vuex數(shù)據(jù)持久化的兩種實現(xiàn)方案,需要的朋友可以參考下2021-07-07
Vue 動態(tài)路由的實現(xiàn)及 Springsecurity 按鈕級別的權(quán)限控制
這篇文章主要介紹了Vue 動態(tài)路由的實現(xiàn)以及 Springsecurity 按鈕級別的權(quán)限控制的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
vue在響應(yīng)頭response中獲取自定義headers操作
這篇文章主要介紹了vue在響應(yīng)頭response中獲取自定義headers操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Vuex unknown action type報錯問題及解決
這篇文章主要介紹了Vuex unknown action type報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02

