热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

问题原因举例说明,以button倒计时为例子;

问题原因

举例说明,以 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);
}

结果如图所示

点击之前
在这里插入图片描述
点击之后
在这里插入图片描述
对此,我们可以发现问题,设置的this.isDisabled == true;不生效;

解决办法

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


this.disabled = !this.disabled;

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


推荐阅读
author-avatar
诚仔儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有