h***@163.com
h***@163.com
  • 发布:2020-03-10 17:35
  • 更新:2020-04-14 10:36
  • 阅读:6866

【报Bug】回调函数里面使用 uni.showToast 不生效

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]回调方法里面使用 uni.showToast 不生效

重现步骤

[步骤]

function httpGet(url, data, callBack) {  
    uni.showLoading({  
        title: '加载中'  
    });  
    wx.request({  
        url: url,  
        data: data,  
        method: "GET",  
        success: function(res) {  
            callBack(res.data);  
        },  
        fail: function(res) {  
            uni.showToast({  
                title: res.errMsg,  
                icon: 'fail',  
                duration: 2000  
            });  
        },  
        error: function(res) {},  
        complete: function(res) { // complete  
            uni.hideLoading();  
        }  
    });  
}  

在页面调用该方法: 返回callback方法的时候   uni.showToast 不会显示  
this.httpGet(app.globalData.getUrl(app.globalData.$httpApi.member.updateQRCodeIsuse), sendData,this.updateCallback)  

updateCallback: function(res) {  
                if (res.success) {    
                    console.log(123,res);  
                     // app.globalData.showmsg(res.msg,'success')  
                     //app.globalData.onShow('开启成功');  
                     uni.showToast({  
                        icon:"none",  
                        content:'开启成功'  
                     });  
                     uni.hideToast();  

                } else {  
                    //e.target.value = !e.target.value;  
                    uni.showLoading({  
                        title: res.msg  
                    })  
                    this.loadData();  
                }  

            },  
[结果]

不显示效果
[期望]
显示消息
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX 2.6.1
[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]
app安卓5.1.1
[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX
[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]
5.1.1
[iOS版本号]

[手机型号]
oppo
[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]
674934275

2020-03-10 17:35 负责人:无 分享
已邀请:
不烧不专业

不烧不专业

官方不用沉浸在“ APICloud终于承认侵权并向DCloud道歉了”之类的情景了,赶紧解决下bug吧!

  • DCloud_UNI_GSQ

    文档有说明:showToast 和 showLoading 是底层同一个(按的小程序的设计),所以 .showToast 和 showLoading 会相互覆盖,而 hideLoading 也会关闭 showToast 。

    冲突解决方案:

    App:使用 plus.nativeUI.toast 接口

    非App:其中一个使用自定义组件实现。

    2020-04-14 10:36

3***@qq.com

3***@qq.com

确实是这样的

不烧不专业

不烧不专业

我也遇到这样的问题,希望官方看看。

g***@tocs.cn

g***@tocs.cn - shonve

我也遇到过,我是js文件里面调用不显示消息。暂时可以用plus.nativeUI.toast来代替。

g***@tocs.cn

g***@tocs.cn - shonve

let html = '<font style="font-size:14px">' + message + '</font>'  
        plus.nativeUI.toast(html, {  
            type: 'richtext',  
            duration: 'long',  
            richTextStyle: {  
                align: 'center'  
            },  
            verticalAlign: 'center'  
        });
喜欢技术的前端

喜欢技术的前端 - QQ---445849201

uni.showToast({
icon:"none",
title:'开启成功'
});

喜欢技术的前端

喜欢技术的前端 - QQ---445849201

content换成title试试

DCloud_UNI_GSQ

DCloud_UNI_GSQ

showToast 和 showLoading 是底层同一个(按的小程序的设计),所以 .showToast 和 showLoading 会相互覆盖,而 hideLoading 也会关闭 showToast 。
冲突解决方案:
App:使用 plus.nativeUI.toast 接口
非App:其中一个使用自定义组件实现。

  • g***@tocs.cn

    难怪,我说怎么有些地方总是显示不出来,这个要在文档里面说明一下呀!

    2020-04-14 10:50

  • DCloud_UNI_GSQ

    回复 g***@tocs.cn: 啊,有说明。

    2020-04-14 11:08

  • DCloud_UNI_GSQ

    这段话就是从文档复制来的

    2020-04-14 11:09

  • g***@tocs.cn

    回复 DCloud_UNI_GSQ: 额...在hideLoading那里,没看到,建议在showToast那里也重复显示一下吧,因为hideLoading方法名太直白,可能很多人不会仔细看这个hideLoading的文档

    2020-04-14 11:34

  • DCloud_UNI_GSQ

    回复 g***@tocs.cn: 好的

    2020-04-14 12:41

  • 3***@qq.com

    确实,我先调 uni.showToast 提示错误,如果没有错误进行计算时用 uni.showLoading 加载过度就会出现不显示

    2021-10-15 18:10

该问题目前已经被锁定, 无法添加新回复