【小程序】小程序如何只让这个弹出一个提示?

提交数据时如果哪个为空就弹出相应的提示 只想让它弹一个 如果有多个字段为空就只弹最上面那个 这个应该怎么办呢?
【小程序】小程序如何只让这个弹出一个提示?

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()无法在所有元素都传递给调用的函数之前终止遍历,因此无法使用returnbreak来终止,建议换成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

回到顶部