需求:在点击按钮的时候,显示弹出框,点击弹出框确定按钮,判断有没有填写原因,如果没有填写就弹出提示(不关闭弹出框),如果填写了就调接口 返回成功后关闭弹出框
我太懒了 直接扔代码吧 哈哈哈
wxml: 在组件上 增加代码 before-close="{{ beforeClose }}"
<van-dialog use-slot title="请输入原因" show="{{ inputReasion }}" show-cancel-button bind:close="onClose" bind:confirm="confirmClick" before-close="{{ beforeClose }}">
<view>
<textarea maxlength='-1' auto-focus bindinput="inputReasionFun"></textarea>
</view>
</van-dialog>
js:
onLoad: function (options) {
this.setData({
beforeClose:(action)=>{
return new Promise((resolve) => {
if (action === 'confirm'){
//如果没有填写原因
if(!this.data.reasion){
//保留弹框并提示
resolve(false);
app.tishi('请输入原因')
}else{
//调用接口
api.reviewRecords({
content:this.data.reasion,
}).then(res=>{
if(res.statusCode == 200){
resolve(true);//关闭弹框
}else{
resolve(false);//不关闭
}
})
}
}else{
//点击取消按钮关闭弹框
console.log('cancel')
resolve(true);
}
});
},
})
},