# checkbox取消选中不好使
直接说结论:u-checkbox-group的v-model和checkbox的checked属性是互相冲突的,两个只能选择一个,如果都选上了就会出现这个bug,复现问题的代码如下:
```vue
<template>
<u-checkbox-group
v-model="checkboxValue2" // 关键部分,给checkbox-group绑定v-model
placement="column"
@change="checkboxChange"
shape="square"
>
<u-checkbox
:customStyle="{marginBottom: '8px'}"
v-for="(item, index) in checkboxList2"
:key="index"
:label="item.name"
:name="item.name"
:checked="true" // 关键部分,给子组件指定checked属性
>
</u-checkbox>
</u-checkbox-group>
</template>
<script>
export default {
data() {
return {
checkboxList2: [{
name: '西游记',
disabled: false
},
{
name: '红楼梦',
disabled: false
},
{
name: '三国演义',
disabled: false
},
{
name: '水浒传',
disabled: false
}
],
// u-checkbox-group的v-model绑定的值如果设置为某个checkbox的name,就会被默认选中
checkboxValue2: ['西游记', '红楼梦', '三国演义', '水浒传'],
}
}
}
</script>
```
此时就会发现怎么取消也取消不了。
## 问题原理
在checkbox-group里的value变化的时候会重新调用一遍子组件的init方法,init方法会检查checked来确定自己的选中状态,所以其实是取消成功了的,但是它又以很快的速度给你勾选上了,人眼看不出来就会认为是取消不动。
## 解决方案
两个属性不要一起设置就好了。
> 本文作者: 不爱喝橙子汁
- 自述
- 学会提问
- 起步
- 安装
- 版本升级
- 1.x 升级 2.x 常见问题
- 命令行模式下node-sass安装错误
- 查看版本
- uView UI 1.x 相关问题
- 安装
- Popup 弹窗
- tabs 标签
- Waterfall 瀑布流
- Table 表格
- Dropdown 下拉菜单
- uview-ui组件篇
- u-upload监听beforeRead事件无效
- 组件怎么关不了
- 导航栏不默认返回好麻烦
- ref怎么获取不到
- z-index拉满都覆盖不了map
- u-text对手机号脱敏
- u-input的placeholder去不掉
- 服务端返回数据,form表单验证错误
- checkbox增加选中面积
- uview-ui组件篇/checkbox无法取消选中
- 小程序输入框的placeholder会穿透到弹出层
- JavaScript篇
- 判断数据类型
- 数组操作
- 节流与防抖函数
- this怎么就不对
- 计算地图上两点间的距离
- CSS篇
- 我要超出显示省略号
- uniapp中小程序样式穿透问题
- 关键帧与动画
- CSS动画属性总结
- 过渡与动画
- 正则表达式篇
- 身份证号
- 手机号
- 是否合法的http/https域名
- 数据处理篇
- 对数组分组
- 深拷贝对象
- 提取数组属性
- 提取对象属性
- 常见问题
- 如何给由组件触发的事件中传入自定义的参数
- 分类的双列联动
- 三级联动的实现
- 小程序预览提示包过大
- 框架安装失败
- 表格、瀑布流、下拉列表 组件为什么没有了
- tabBar组件怎么用
- 时间、日历、选择器相关问题
- 字体图标不显示
- class 或 /deep/ 不生效