RT
Vant的Dialog对话框,有个需求,就是按确定的时候,我们可能是请求后端的API,但是后端可能返回不成功,这个时候,就不应该关闭对话框了。
Dialog有个属性是before-close可以在这里面阻止对话框的关闭。
例如:
<van-dialog v-model="showIdCardDialog" :before-close="saveIdCardClicked" title="身份证号" show-cancel-button> <van-field v-model="idCard" autofocus label="身份证号:" maxlength="18" placeholder="请输入18位身份证号" /> </van-dialog>
saveIdCardClicked(action, done) { // 调用 done() 后关闭弹窗,调用 done(false) 阻止弹窗关闭 if (action === 'confirm') { this.updateIdCard((data) => { // console.log(data) if (!data.result) { Notify({type: 'danger', message: data.message}); done(false); } else { Notify({type: 'success', message: data.message}); done(); } }) } else { done(); } },
action:当 action === "confirm"
表示点击 确定
按钮,反之点击 取消
done:控制是否关闭弹窗 done()或则done(true)
关闭弹窗,done(false)
阻止关闭弹窗
文章评论