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)阻止关闭弹窗
文章评论