【小程序】小程序如何只让这个弹出一个提示?
提交数据时如果哪个为空就弹出相应的提示 只想让它弹一个 如果有多个字段为空就只弹最上面那个 这个应该怎么办呢?
this.data.list.forEach((res) => {if(res.content==''){
wx.showToast({
title: res.info,
icon: 'none',
duration: 2000
})
}
})
list:[{
item: '姓名',
content: '',
info: '姓名不能为空,长度不超过10个字'
},
{
item: '身份证',
content: '',
info: '身份证不能为空'
},
{
item: '联系方式',
content: '',
info: '联系方式不能为空'
},
{
item: '原账号',
content: '',
info: '原账号不能为空'
},
{
item: '新账号',
content: '',
info: '新账号不能为空'
}
]
回答
if(res.content==''){ wx.showToast({
title: res.info,
icon: 'none',
duration: 2000
})
//todo 直接跳出循环
}
个人建议,你可以尝试的去集成下第三方 UI库,例如 vant,iview 他都有对应的小程序版本
对于这个问题,想到的无非是return
跳出循环,但是代码中你用到的是forEach
,由于forEach()
无法在所有元素都传递给调用的函数之前终止遍历,因此无法使用return
和break
来终止,建议换成for,some,every等其他循环方式来通过return实现
if (e.detail.value.user_name == '') {
wx.showToast({ title: '输入的姓名不能为空',
icon: 'none',
duration: 1500
})
return;
}
对于这个问题,想到的无非是return跳出循环
一个一个写判断就可以
你需要的是能够跳出循环,forEach是无法跳出整个循环的,你可以替换为for,every,some
forEach
return [true/false]:跳过本次循环
every
return true: 跳过本次循环
return false:跳出整个循环
some
return true: 跳出整个循环
return false:跳过本次循环
for
continue: 挑过本次循环
break: 跳出整个循环
另外看你的场景是要做校验,可以使用专门的异步校验库,会更加优雅:https://github.com/yiminghe/a...(这个我用的比较多)
以上是 【小程序】小程序如何只让这个弹出一个提示? 的全部内容, 来源链接: utcz.com/a/81491.html