解决 el-checkbox-group 值为对象的时候 复选框回显问题

本文介绍了在Vue.js中处理复选框回显的问题,特别是当复选框对应的值为对象数组时。通过示例代码展示了如何实现单元素和对象数组的复选框回显,并提供了相应的数据结构示例。解决方案包括确保model中的数据结构与循环的集合匹配,以及在每个选择对象外添加其id值以达到回显效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上一个例子

<template>
  <el-checkbox-group 
    v-model="checkedCities"
    :min="1"
    :max="2">
    <el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>
  </el-checkbox-group>
</template>
<script>
  const cityOptions = ['上海', '北京', '广州', '深圳'];
  export default {
    data() {
      return {
        checkedCities: ['上海', '北京'],
        cities: cityOptions
      };
    }
  };
</script>

1.这种选择数组只是单元素而不是object的时候,直接让绑定的model和循环的集合对应就可以达到复选框回显

2.复选框数组里面是对象时,复选框回显方法

<el-checkbox-group v-model="formData.field101" size="medium" @change="handleChecked()">
          <el-checkbox
              v-for="(item, index) in field101Options"
              :key="index"
              :label="item.id"
              >{{ item.value}}</el-checkbox
           >
</el-checkbox-group>

field101Options的数据结构是

field101Options: [
        {
          value: "选项一",
          id: 1,
        },
        {
          value: "选项二",
          id: 2,
        },
      ],

解决方法很简单,让你的model里面的数据结构等于 

formData: {
        field101: [
          {
            value: "选项一",
            id: 1,
          },
          1,
          {
            value: "选项二",
            id: 2,
          },
          1
        ],
      },

就可以达到回显效果,一定要在每个选择对象外面加上该条对象里面的id值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值