Vant/Weapp/Dialog/before-close的用法

  • 引入van-dialog组件
//在app.json或index.json中引入组件
"usingComponents": {
  "van-dialog": "@vant/weapp/dialog/index"
}
  • .wxml中使用
//view代码
<van-dialog 
	use-slot title="标题" 
	show="{{ addShow }}" 
	show-cancel-button 
	before-close='{{verify}}'>
</van-dialog>
  • 错误用法
//js代码
Page({
	data:{},
	verify(action) {
      return new Promise((resolve) => {
        setTimeout(() => {
          if (action === 'confirm') {
            	//代码逻辑
              resolve(false);//阻止弹窗关闭
            } else {
            	//代码逻辑
            }
          } else {
            resolve(true);//关闭弹窗
          }
        }, 13);
      });
    },
})
  • 正确用法
//js代码
Page({
	data:{
		form:{},
		name:'',
		verify(action) {
	      return new Promise((resolve) => {
	        setTimeout(() => {
	          if (action === 'confirm') {
	            	//代码逻辑
	              resolve(false);//阻止弹窗
	            } else {
	            	//代码逻辑
	            }
	          } else {
	            resolve(true);//关闭弹窗
	          }
	        }, 13);
	      });
	    },
	},
	onLoad() {
	  this.setData({
	      verify: this.data.verify.bind(this),
	  })
  },
})

before-close用法应该是放在data里面使用并且是异步的但是verify的方法里是无法访问到this的,你学需要在onload生命周期函数里去绑定this

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值