自定义控件在某些情况下显示不出来?
发布于 6 年前 作者 weixia 15314 次浏览 来自 官方Issues

这一行代码不显示,上面默认的wx.showToast是可以显示的

跟踪代码,在下面方法打断点时,第一句打断点,执行了之后代码都会执行(此时控件可以显示了),但是跳过第一句打断点,在第二句打断点并不会执行,后面代码都不会执行了

此处第一句代码执行,能够正常做动画,显示出view了

此处,第二句断点不执行(28行代码),日志也没有打印出来,没有执行后面代码了??

showToast(val, _isErrorToast) {
 
      // 防止重复弹出
      if (util.antiShakeChecked()) return
 
      var animation = wx.createAnimation({
        duration: 300,
        timingFunction: 'linear',
      })
 
      console.log("AAAAAAAAA")
      this.animation = animation
      animation.opacity(1).step().translateY(50).step()
      if (this.data.isErrorToast) {
        this.setData({
          animationData: animation.export(),
          content: val,
          fontColor: "#f00"
        })
      } else {
        this.setData({
          animationData: animation.export(),
          content: val,
          fontColor: "#fff"
        })
      }
 
      /**
       * 延时消失
       */
      setTimeout(function() {
        animation.translateY(0).step().opacity(0).step()
        this.setData({
          animationData: animation.export(),
          isErrorToast: false
        })
      }.bind(this), 2000)
 
    }
goLogin() {
    // 防重复点击
    if (util.antiShakeChecked()) {
      return
    }
 
    var _isPswdLogin = this.data.isPswdLogin
    var _userPhoneNum = this.data.userPhoneNum
    if (util.isNull(_userPhoneNum)) {
      // wx.showToast({
      //   title: 'hello',
      // })
      this.toast.showToast('手机号为空');
      return
    }
    if (!util.checkPhoneNum(parseInt(_userPhoneNum))) {
      this.toast.showToast('手机号格式错误');
      return
    }
}
1 回复

这种一般是逻辑问题,多检查一下逻辑。

回到顶部