Vant-ui组件 Dialog里的before-close阻止关闭

2022-03-07 1742点热度 0人点赞 0条评论

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)阻止关闭弹窗

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论