微信小程序wx.showToast弹窗没完成就跳转,加入延时执行

1、wx.showToast弹窗没完成就跳转页面

开发小程序的过程中,想实现点击按钮后出现弹窗然后跳到个人中心。

wx.showToast({
  title: '已完成答题,看缘分榜喽~',
  icon: 'loading',
  duration: 2000,
  success:function(){
    wx.redirectTo({
        url: '../my'
    }) 
  }
})

想要实现弹窗出现2秒后跳到个人中心,但实际运行时发现,有时弹窗闪一下就跳转,或者直接跳转页面

这是为啥?

原来 成功回调函数在wx.showToast执行成功立即执行,执行成功不等于执行完毕,也就是说弹窗刚执行success中的函数也就开始执行了,这里的duration:2000的设置对success里函数的执行是没有影响的。

那怎么解决?

想到延时操作,给想要等弹窗消失后再执行的操作加上延迟效果就行了。用到setTimeout

wx.showToast({
    title: '已完成答题,看缘分榜喽~',
    icon: 'loading',
    duration:2000, 
    success:function(){ 
        setTimeout(function () { 
            wx.redirectTo({ 
                url: '../my'
             }) 
         }, 2000) 
     } 
 })

 

2、还有一个问题,我们在弹窗中加入文字,但是运行出来只显示了一行字。为什么呢?

显示效果表示有字数限制。代码为上面第二个

                                                                             

原来 title只显示7个字,多余的字 toast 会自动隐藏

解决方法是设置 icon:‘none’ 就可以了,这样可以添加更多文本;但是图标就不能显示了

                                                                         

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值