el-checkbox-group 选中后值为true和false遇到的坑

在使用el-checkbox-group设置复选框组的时候,会遇到设置的label值不显示,点击某一选项后,所有值都会选中的情况。
是因为在定义绑定值时,格式出现了问题

 <p>checkList:{{ checkList }}</p>
  <el-checkbox-group v-model="checkList">
    <el-checkbox label="复选框 A"></el-checkbox>
    <el-checkbox label="复选框 B"></el-checkbox>
    <el-checkbox label="复选框 C"></el-checkbox>
  </el-checkbox-group>

如果将checkList赋值[],则选中结果为数组,若此时将checkList:赋值为字符串,则会出现上述问题
在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id="app">
  <p>checkList:{{ checkList }}</p>
  <el-checkbox-group v-model="checkList">
    <el-checkbox label="复选框 A"></el-checkbox>
    <el-checkbox label="复选框 B"></el-checkbox>
    <el-checkbox label="复选框 C"></el-checkbox>
  </el-checkbox-group>
  <p>checkListBloone:{{ checkListBloone }}</p>
  <el-checkbox-group v-model="checkListBloone">
    <el-checkbox label="1"></el-checkbox>
    <el-checkbox label="2"></el-checkbox>
    <el-checkbox label="3"></el-checkbox>
  </el-checkbox-group>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    checkList: [],
    checkListBloone:''
  }
})
</script>
</body>
</html>
`<el-checkbox-group>` 是 Element UI 中的一个组件,它用于创建一组互斥的复选框,用户可以选择其中的一项或多项。当需要让用户同时选择所有可用选项并表示"全部选中"的状态时,可以考虑以下几个方面: 1. **默认全选**:在数据绑定时,给每个 checkbox 绑定一个初始状态为 `true` 的,并设置 `v-model` 属性关联到一个数组,数组元素都代表一个可选的选项。这样,只要这个数组的所有都是 `true`,那么所有的复选框就会默认勾选。 ```html <el-checkbox-group v-model="selectAllOptions"> <el-checkbox :label="option.key" v-for="(option, index) in options" :key="index"></el-checkbox> </el-checkbox-group> <script> export default { data() { return { selectAllOptions: [true, true, true], // 根据实际选项数量填充 options: [ { key: 'Option1', value: 'Option1' }, { key: 'Option2', value: 'Option2' }, { key: 'Option3', value: 'Option3' } ] }; } }; </script> ``` 2. **自定义全选按钮**:可以在页面上添加一个单独的全选/取消全选按钮,通过控制 `selectAllOptions` 数组的布尔来同步所有复选框的状态。 ```html <template> <el-checkbox-group v-model="selectAllOptions"> ... (checkboxes... ) </el-checkbox-group> <button @click="selectAll">全选</button> <button @click="clearAll">取消全选</button> </template> <script> ... methods: { selectAll() { this.selectAllOptions.fill(true); }, clearAll() { this.selectAllOptions.fill(false); } } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值