小程序 | Vant Weapp Dialog 弹出框的before-close用法

弹出框点击确认按钮会自动关闭,但是项目需要在点击确认前校验是否选择了角色,所以要阻止默认关闭事件。

wxml

//弹窗
<view class="dialogConBox">
    <van-radio-group value="{{ radio }}" bind:change="getUserType">
      <van-cell-group>
        <van-cell title="供体" clickable data-name="donor">
          <van-radio checked-color="#00c389" slot="right-icon" name="donor" />
        </van-cell>
        <van-cell title="受体" clickable data-name="receptor">
          <van-radio checked-color="#00c389" slot="right-icon" name="receptor" />
        </van-cell>
        <van-cell title="医生" clickable data-name="sysUser">
          <van-radio checked-color="#00c389" slot="right-icon" name="sysUser" />
        </van-cell>
      </van-cell-group>
    </van-radio-group>
  </view>
</van-dialog>

//验证提示
<van-toast id="van-toast" />

 JS

Page({
  data: {
    show: false,
    radio: '', 
    beforeClose(action) {
      return new Promise((resolve) => {
        setTimeout(() => {
          if (action === 'confirm') {
            // 拦截确认操作
             resolve(false);
          } else {
            resolve(true);
          }
        }, 0);
      });
    }
  },
  //选择角色确认按钮事件
  getUserInfo() {
    if(!this.data.radio){
      wx.showToast({
        title: '请选择角色',
        icon:'none'
      })
      return
    }
    //在这里写选择角色点击确认后要做的事件或调用的接口方法等等...

    //调用关闭弹窗方法
    this.onClose();
  },
 //关闭弹窗
 onClose() {
      this.setData({ show: false });
 },
 //获取用户选择角色
 getUserType(event){
    this.setData({
      radio: event.detail,
    });
 },
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值