加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

解决微信小程序真机 showToast 不显示

发布时间:2020-12-14 19:39:12 所属栏目:资源 来源:网络整理
导读:花了一周多,终于把公司小程序做出来了。真机上测试发现调用 showToast 不显示,或者闪一下就没了。经过查找,发现是与 wx.showLoading 冲突了,两者调用的是同个框。 先放上我的错误代码: // 请求事件 requestEvent : function () { wx . showLoading ({ t

花了一周多,终于把公司小程序做出来了。真机上测试发现调用 showToast 不显示,或者闪一下就没了。经过查找,发现是与 wx.showLoading 冲突了,两者调用的是同个框。

先放上我的错误代码:

  1. // 请求事件
  2. title '正在加载中',
  3. request({
  4. wxshowToast({
  5. })
  6. fail{
  7. '失败'})
  8. complete{
  9. }
  10. }

我是想请求接口后,将加载框隐藏掉,再显示 toast 提示。但是真机上发现 showToast 不显示。正如上面所说,两者调用的是同个框。现在,我们分析整个流程:

1、首先显示 loading 框;?
2、然后调用 success / fail,弹框的内容由 loading 变成了 toast;?
3、最后调用 onComplete 时,hideLoading 将弹框隐藏掉了;

很明显,我们最终把 toast 框隐藏掉了。知道原因后,改起来就容易了。先调用 wx.hideLoading(),再调用 wx.showToast() 即可。

建议:

若是在网络请求前需要调用 wx.showLoading,建议在该 success 和 fail 回调函数内第一行就调用 wx.hideLoading。即使暂时不需要 showToast 操作。因为以后需要在回调函数内添加 toast 时, 就不用再管什么顺序问题了;?
当 toast 和 loading 同时使用,多注意两者的调用顺序;

如下是正确代码:

({
  • 2000
  • ()
  • })
  • }
  • ?

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读