Ant Design Vue全局對(duì)話確認(rèn)框(confirm)的回調(diào)不觸發(fā)
Ant Design Vue全局對(duì)話確認(rèn)框的回調(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)給了兩個(gè)回調(diào)一個(gè)是onOk 點(diǎn)擊確認(rèn)的回調(diào),還有一個(gè)是onCancel 是點(diǎn)擊取消的回調(diào)。
但是我們使用了 就會(huì)發(fā)現(xiàn)里面的一些使用到this指向不對(duì)。導(dǎo)致里面需要用到this的功能都失效。
解決辦法
只需要把這兩個(gè)回調(diào)(onOk、onCancel)改成箭頭函數(shù)即可。
代碼如下:
// 刪除
deleteItem (row) {
this.$confirm({
title: '提示',
content: '您是否確認(rèn)刪除該組織?',
// 點(diǎn)擊確認(rèn)觸發(fā)的回調(diào)
onOk: () => {
// 這里模擬請(qǐng)求刪除的接口
setTimeout(() => this.$message.success('刪除成功!'), 1000)
},
// 點(diǎn)取消觸發(fā)的回調(diào)
onCancel: () => {
this.$message.success('你已經(jīng)取消此操作!')
}
})
},ant design confirm確認(rèn)框的應(yīng)用
用法如下:
this.$confirm({
// iconClass: 'el-icon-question', //自定義圖標(biāo)樣式
title: '提示',
content: '賬戶名稱與企業(yè)名稱不一致,請(qǐng)確認(rèn)是否提交?',
confirmButtonText: '確認(rèn)', //確認(rèn)按鈕文字更換
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í)需要用箭頭函數(shù)寫法,不然this指向出現(xiàn)問題,調(diào)不到doSave。
- onOk為點(diǎn)擊‘’確認(rèn)‘’觸發(fā)的事件
- onCancel為點(diǎn)擊‘’取消‘’觸發(fā)的事件
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue路由守衛(wèi),限制前端頁面訪問權(quán)限的例子
今天小編就為大家分享一篇vue路由守衛(wèi),限制前端頁面訪問權(quán)限的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vue3?使用setup語法糖實(shí)現(xiàn)分類管理功能
這篇文章主要介紹了vue3?使用setup語法糖實(shí)現(xiàn)分類管理,本次模塊使用 vue3+element-plus 實(shí)現(xiàn)一個(gè)新聞?wù)镜暮笈_(tái)分類管理模塊,其中新增、編輯采用對(duì)話框方式公用一個(gè)表單,需要的朋友可以參考下2022-08-08
vue-loader中引入模板預(yù)處理器的實(shí)現(xiàn)
這篇文章主要介紹了vue-loader中引入模板預(yù)處理器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Vue中router-view和component :is的區(qū)別解析
這篇文章主要介紹了Vue中router-view和component :is的區(qū)別解析,router-view用法直接填寫跳轉(zhuǎn)路由,路由組件會(huì)渲染<router-view></router-view>標(biāo)簽,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
vue純前端實(shí)現(xiàn)將頁面導(dǎo)出為pdf和word文件
這篇文章主要為大家詳細(xì)介紹了vue如何通過純前端實(shí)現(xiàn)將頁面導(dǎo)出為pdf和word文件,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下2024-01-01
vue-quill-editor富文本編輯器上傳視頻功能詳解
需求需要實(shí)現(xiàn)富文本的功能,同時(shí)富文本中還可以上傳視頻和圖片,選來選去最后決定了用這個(gè)富文本編輯器,下面這篇文章主要給大家介紹了關(guān)于vue-quill-editor富文本編輯器上傳視頻功能的相關(guān)資料,需要的朋友可以參考下2023-05-05
Vue+Express實(shí)現(xiàn)登錄注銷功能的實(shí)例代碼
這篇文章主要介紹了Vue+Express實(shí)現(xiàn)登錄,注銷功能,本文通過實(shí)例代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
詳解vue之自行實(shí)現(xiàn)派發(fā)與廣播(dispatch與broadcast)
這篇文章主要介紹了詳解vue之自行實(shí)現(xiàn)派發(fā)與廣播(dispatch與broadcast),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

