收藏
回答

多次调用showModal,如何让showModal只显示一个?

我有一个通用的request的方法,每个ajax都会调用这个方法,如果没有登录就会通过showModal提示未登录,然后让用户点击进入登录页面进行登录。

A页面有3个请求ajax的方法,如果没登录就会弹出3个showModal,

为什么showModal不会覆盖呢?如果用户不想登录就得手动关闭3次,有什么方法只让他显示一个?


回答关注问题邀请回答
收藏

8 个回答

  • 农夫山泉有点贵
    农夫山泉有点贵
    2021-10-24

    可以存一个变量记住是否打开过,你就在判断里判断这个变量

    2021-10-24
    有用 2
    回复 3
    • 黑白绮
      黑白绮
      2021-10-27
      666666666666666666
      2021-10-27
      回复
    • 农夫山泉有点贵
      农夫山泉有点贵
      2021-11-04回复黑白绮
      什么意思呀,是没有用吗
      2021-11-04
      回复
    • 农夫山泉有点贵
      农夫山泉有点贵
      2021-11-04
      那我也没有办法拉,很抱歉没帮到你
      2021-11-04
      回复
  • 2023-03-28
    // app.js 里面对 wx.showModal 简单封装一下,加个全局变量 this.globalData.wx_showModal 拦截一下,后续调用 wx.showModal2 试试
        wx.showModal2 = (opt) => {
          if(this.globalData.wx_showModal){
            return
          }
          this.globalData.wx_showModal = true
          if (opt.success) {
            opt.successNext = opt.success
            opt.success = res => {
              this.globalData.wx_showModal = false
              opt.successNext(res)
            }
          }
          wx.showModal(opt)
        }
    
    


    2023-03-28
    有用 1
    回复
  • 刘娜
    刘娜
    发表于移动端
    2022-07-23
    、样一。:冫一
    2022-07-23
    有用
    回复
  • axing
    axing
    2021-10-12

    供参考

    2021-10-12
    有用
    回复
  • 陈宇明
    陈宇明
    2021-04-09

    为什么要调用showModal方法3次呢?

    2021-04-09
    有用
    回复
  • Rehack
    Rehack
    2020-10-10

    我也遇到了同样的问题,不知道怎么判断wx.showModal 已经被打开了,如果打开了就不要再次打开modal,

    这个逻辑真的不好处理,也没有提供一个close modal的API。

    2020-10-10
    有用
    回复
  • Wang
    Wang
    2020-04-08

    修改3个请求的调用顺序吧

    2020-04-08
    有用
    回复
  • 原点的原点
    原点的原点
    2020-04-08

    要想弹出一个只能你自己改前端逻辑了

    2020-04-08
    有用
    回复
登录 后发表内容
问题标签