我在checkbox里面定义了一个事件,然后想拿到它的checked 值,但是找不到相关文档,代码如下:
//index.wxml代码如下
<checkbox bindtap="handleTap"></checkbox>
//index.js里面代码如下:
handleTap:function(e){
console.log(e);
console.log(e.currentTarget.dataset.value);
console.table(e);
console.log(e.currentTarget.checked)
},
正确的做法是使用switch组件
bindchange
使用checkbox-group包裹check-box在checkbox-group上加个bindchange 看看
楼主其实想说的这个意思吧,试试我这样写吧
wxml:
<checkbox checked="{{checked}}" bindtap="checkboxChange"></checkbox>
js:
data:{
checked:false
},
checkboxChange:function{
this.setData({
checked:!this.data.checked
})
}
单个 checkbox 的 value 值可以自己定义一个变量去控制,给个默认值,每次事件触发都取反,也可以像前面说用 e.detail.value 的长度去判断选中还是未选中;
多个checkbox 时,用 group 包裹,加上 data-x'x'x ,事件触发可以 dataset 里读取
<checkbox-group bindchange="checkboxChange" data-value="{{item.value}}" data-checked="{{item.checked}}" wx:for="{{linesCheck}}" wx:key="value"> <checkbox value="{{item.value}}" checked="{{item.checked}}">{{item.name}}</checkbox> </checkbox-group>
判断`value.length`,1表示选中,0表示取消选中~
可以在checkbox定义value check-group定义checkboxchange方法 e.detail.value就是选中值
<checkbox-group checkboxchange="handleCheckboxChange">
<checkbox value="{{false}}"></checkbox>
</checkbox-group>