添加了confirm事件后,点击确认按钮并没有进行验证,而是自动关闭了对话框。此时需要使用before-colse的关闭回调函数:在点击确认按钮时调用done(false)阻止关闭
<van-dialog
v-model="featureDialogVisible"
title="标题"
show-cancel-button
:before-close="onBeforeClose"
@confirm="onSubmit">
<van-field v-model="featureName" required :error-message="nameErrorMessage" />
</van-dialog>
onBeforeClose(action, done) {
if (action === "confirm") {
return done(false);
} else {
return done();
}
},
onSubmit() {
if (this.featureName.trim().length == 0) {
this.nameErrorMessage = "输入框不能为空"
return false
}
........
},