- 引入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