van-dialog:“确认”验证失败时阻止对话框的关闭

在Vue中,当使用van-dialog组件并需要在点击确认时进行验证时,可以利用:beforeClose回调函数来控制对话框的关闭。如果验证不通过,调用done(false)可以阻止对话框关闭。例如,在输入姓名验证场景中,当输入为空时显示提示并阻止关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击“确认”验证不通过时阻止对话框的关闭

正常情况下,van-dialog组件点击“确认”时,对话框会自动关闭,但很多情况下点击“确认”时需要验证某些属性,待验证通过才能关闭对话框,此时则需要借助beforeClose回调函数:关闭前的回调函数,调用 done() 后关闭弹窗,调用 done(false) 阻止弹窗关闭

<van-dialog
  v-model="changeMemberNameDialogVisible"
  show-cancel-button
  get-container="body"
  class="m-changeMemberName-dialog m-dialog-common"
  :before-close="onBeforeClose"
  @confirm="changeMemberName"
>
  <div class="van-dialog__header">改名</div>
  <div class="van-dialog__connect">
    <input
      placeholder="请输入更改的名字"
      v-model="newMemberName"
      :maxLength="25"
    />
  </div>
</van-dialog>
onBeforeClose (action, done) {
  if (action === "confirm") {
    return done(false);
  } else {
    return done();
  }
},
changeMemberName () {
  if (this.newMemberName.trim().length == 0) {
    this.$Toast("请输入要修改的成员的新名称");
    return false;
  } else {
  	......
  }
}
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值