【wepy】设置disabled的值 不生效 解决办法

问题原因

举例说明,以 button 倒计时为例子;
给 button 的 disabled 赋值 this.isDisabled == true; 不生效

代码实例 template

代码实例 script
	data = {
	    codeText:"获取验证码",
	    isDisabled:false                //初始化   disabled 为   false;
	};
  
	//methods方法
	
	code(){
	 this.isDisabled == true;          //当点击之后修改 disabled 为 true ;
	 this.$apply();                         // 手动触发脏检测
	 var second = 60;
	 var t = setInterval(()=> {
	   if (second <= 0) {
	     this.isDisabled== false;      //倒计时结束后修改 disabled 为 false;
	     second = 0;
	     this.codeText = "重发验证码"
	     
	     clearInterval(t);
	   } else {
	     second--;
	     this.codeText = second + "秒后重发"
	   }
	   this.$apply()
	 }, 1000);
  }

结果如图所示

点击之前
在这里插入图片描述
点击之后
【wepy】设置disabled的值 不生效 解决办法_第1张图片
对此,我们可以发现问题,设置的this.isDisabled == true;不生效;

解决办法

后来我换了一种思维,不去赋值,直接取反,已经解决这个问题


this.disabled = !this.disabled;

并且不要忘记this.$apply(); 手动触发脏检测,否则有可能会出现视图不会自动更新

你可能感兴趣的:(wepy)