解決vue+el this.$confirm、コードを遮断して下へ実行することはできません
前言
vue+elementuiのフロントエンドフレームワークでelのconfirm弾窓を使用すると、複数の弾窓を連続していくつかの情報を提示し、OKをクリックして下に実行し続けると、キャンセルをクリックして方法全体を終了するという問題が発生します.コードがthis.$に実行されるとconfirm弾窓の場合、弾窓をポップアップした後、弾窓の後のコードを実行し続け、弾窓がクリックして確定したりキャンセルしたりしてから実行しません.
具体的な解決
実は解決策も簡単です.confirmもpromiseメソッドなので、es 6のawaitを使用して結果を返すまで待つことができます.await式は、現在のasync functionの実行を一時停止し、Promise処理の完了を待つ.
後記
公式文書を見て勉強するには、必ずよく見て、よく見てください.promiseとawaitをまじめに勉強します.
vue+elementuiのフロントエンドフレームワークでelのconfirm弾窓を使用すると、複数の弾窓を連続していくつかの情報を提示し、OKをクリックして下に実行し続けると、キャンセルをクリックして方法全体を終了するという問題が発生します.コードがthis.$に実行されるとconfirm弾窓の場合、弾窓をポップアップした後、弾窓の後のコードを実行し続け、弾窓がクリックして確定したりキャンセルしたりしてから実行しません.
具体的な解決
実は解決策も簡単です.confirmもpromiseメソッドなので、es 6のawaitを使用して結果を返すまで待つことができます.await式は、現在のasync functionの実行を一時停止し、Promise処理の完了を待つ.
......
if(await this.$confirm(' ?', ' ', {
distinguishCancelAndClose: true,
confirmButtonText: ' ',
cancelButtonText: ' '
}).catch(() => {}) !== 'confirm') {
return
}
// ,
// await,
this.doSaveInfo()
......
後記
公式文書を見て勉強するには、必ずよく見て、よく見てください.promiseとawaitをまじめに勉強します.