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

发布于 2022-09-11 23:12:28 字数 812 浏览 12 评论 0

提交数据时如果哪个为空就弹出相应的提示 只想让它弹一个 如果有多个字段为空就只弹最上面那个 这个应该怎么办呢?
微信截图_20191023154335.png

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: '新账号不能为空'
      }
    ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

终陌 2022-09-18 23:12:28
if(res.content==''){
    wx.showToast({
      title: res.info,
      icon: 'none',
      duration: 2000
    })
    //todo 直接跳出循环
  }
戏蝶舞 2022-09-18 23:12:28

个人建议,你可以尝试的去集成下第三方 UI库,例如 vant,iview 他都有对应的小程序版本

赏烟花じ飞满天 2022-09-18 23:12:28

对于这个问题,想到的无非是return跳出循环,但是代码中你用到的是forEach,由于forEach()无法在所有元素都传递给调用的函数之前终止遍历,因此无法使用returnbreak来终止,建议换成for,some,every等其他循环方式来通过return实现

鲜血染红嫁衣 2022-09-18 23:12:28

if (e.detail.value.user_name == '') {

  wx.showToast({
    title: '输入的姓名不能为空',
    icon: 'none',
    duration: 1500
  })
  return;
}

对于这个问题,想到的无非是return跳出循环

一个一个写判断就可以
顾铮苏瑾 2022-09-18 23:12:28

你需要的是能够跳出循环,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...(这个我用的比较多)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文