4***@qq.com
4***@qq.com
  • 发布:2021-01-04 11:21
  • 更新:2021-01-04 15:37
  • 阅读:647

【不是Bug】checkbox 复制官网案例 set check为false 依旧可以取消选中状态

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Catalina 10.15.6

HBuilderX类型: 正式

HBuilderX版本号: 3.0.4

浏览器平台: Chrome

浏览器版本: 87.0.4280.88

项目创建方式: HBuilderX

示例代码:
checkboxChange: function (e) {  
                var items = this.items,  
                    values = e.detail.value;  
                for (var i = 0, lenI = items.length; i < lenI; ++i) {  
                    const item = items[i]  
                    if(values.includes(item.value)){  
                        this.$set(item,'checked',true)  
                    }else{  
                        //this.$set(item,'checked',false)  
                    }  
                }  
            }

操作步骤:
checkboxChange: function (e) {  
                var items = this.items,  
                    values = e.detail.value;  
                for (var i = 0, lenI = items.length; i < lenI; ++i) {  
                    const item = items[i]  
                    if(values.includes(item.value)){  
                        this.$set(item,'checked',true)  
                    }else{  
                        //this.$set(item,'checked',false)  
                    }  
                }  
            }

预期结果:

把else 注释掉 应该点击选中之后 就无法取消选中才对 但是 点击已选中的 依旧可以取消 选中状态

实际结果:

把else 注释掉 应该点击选中之后 就无法取消选中才对 但是 点击已选中的 依旧可以取消 选中状态

bug描述:

官网checkbox案例 完整复制下来

checkboxChange: function (e) {
var items = this.items,
values = e.detail.value;
for (var i = 0, lenI = items.length; i < lenI; ++i) {
const item = items[i]
if(values.includes(item.value)){
this.$set(item,'checked',true)
}else{
//this.$set(item,'checked',false)
}
}
}

把else 注释掉 应该点击选中之后 就无法取消选中才对 但是 点击已选中的 依旧可以取消 选中状态

2021-01-04 11:21 负责人:无 分享
已邀请:
DCloud_uniCloud_JSON

DCloud_uniCloud_JSON

vue基础知识;value不是v-model你理解成双向数据绑定。

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