el-checkbox-group绑定值与回显

checkListData:[];//多选框里要显示的数据
checkListDataStr:"",
checkList:[
	{propCode:"01",propName:'测试1'},
	{propCode:"02",propName:'测试2'},
]

<el-checkbox-group
        v-model="checkListData"
 >
       <el-checkbox
              v-for="item in checkList"
              :label="item.propCode"
                @change="orgAttributeChange(item,$event)"
                :key="item.propCode"
         >{{ item.propName }}</el-checkbox >
</el-checkbox-group>

//选中值变化时的方法
  orgAttributeChange(item,val) {
      if (val) {
        // 增加值
        let list = this.checkList.filter((i,v)=> {
          return i.propCode == item.propCode;
        })
        this.checkListDataStr += ","+ list[0].propCode;//最后选中的数据
        
        let flag = _.startsWith(this.checkListDataStr, ',');
		//有,要去掉字符串前面的,没有则不需要
		
        if (flag) {
          this.form.orgAttribute = this.checkListDataStr.substring(1);
        }else {
          this.form.orgAttribute = this.checkListDataStr;
        }
        this.checkListData = this.form.orgAttribute.split(',');

      }else {
       //不勾选当前选中的值
        let arr = this.checkListData;
        _.remove(arr, function(n) {
          return n == item.propCode;
        });
        this.checkListData = arr;
        // 选择后的数据转化为字符串
        let str = arr.join(',');
        this.form.orgAttribute = str;//要传递给后台的数据
        this.checkListDataStr = str;
      }
    },

设置checobox的回显时,先拿到后台返回的数据,是一个字符串。将字符串转化成数组,进行回显。
this.checkListDataStr = rowData.orgAttribute;
this.checkListData = rowData.orgAttribute.split(’,’);

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: el-checkbox-group回显是指在Vue.js中使用Element UI的el-checkbox-group组件时,将已经选中的选项在页面中显示出来。可以通过v-model定一个数组来实现回显功能,当选中的选项发生变化时,数组中的值也会随之改变,从而实现回显。例如: <template> <el-checkbox-group v-model="checkedCities"> <el-checkbox label="北京"></el-checkbox> <el-checkbox label="上海"></el-checkbox> <el-checkbox label="广州"></el-checkbox> <el-checkbox label="深圳"></el-checkbox> </el-checkbox-group> </template> <script> export default { data() { return { checkedCities: ['北京', '上海'] } } } </script> 在上面的代码中,我们将已经选中的城市(北京和上海)定到了checkedCities数组中,当页面渲染时,这两个选项会自动被选中。如果用户在页面上勾选了其他城市,checkedCities数组也会相应地更新,从而实现回显功能。 ### 回答2: el-checkbox-group是ElementUI中常使用的多选框组件,而回显则是指将已经被选中的选项在页面重新加载或提交表单后能够再次显示出来。那么如何实现el-checkbox-group回显呢? 1. 定v-model 最简单的回显方式是通过v-model来定选中的值,这样在页面重新加载或提交表单后,v-model定的数据会自动更新,已选中的多选框也会自动选中。 2. 通过:checked属性 如果没有使用v-model定数据,也可以通过:checked属性来手动指定被选中状态。首先需要在data中定义一个选中的数组,然后在el-checkbox中使用:checked来判断是否被选中,如下所示: ``` <template> <el-checkbox-group v-model="checkedItems"> <el-checkbox :label="item.value" v-for="item in options" :key="item.id" :checked="checkedItems.indexOf(item.value) !== -1">{{ item.label }}</el-checkbox> </el-checkbox-group> </template> <script> export default { data() { return { options: [ {id: 1, label: '选项1', value: 'val1'}, {id: 2, label: '选项2', value: 'val2'}, {id: 3, label: '选项3', value: 'val3'} ], checkedItems: ['val1', 'val3'] // 定义选中的值 } } } </script> ``` 这样,在页面重新加载或提交表单后,已选中的多选框会保持选中状态。 总之,无论是通过v-model还是:checked属性,都能够实现el-checkbox-group回显功能。 ### 回答3: el-checkbox-group是一个可以选择多个选项的组件,对于一些需要处理复杂数据的业务场景非常有用。在使用这个组件的时候,我们很可能需要进行回显,即在页面刷新或重新进入页面时,需要将之前选中的选项恢复为选中状态。 针对这个需求,我们可以采取以下步骤: 1.通过v-modelel-checkbox-group的值,将选中的选项保存在一个数组中,如:selectedOptions ```html <el-checkbox-group v-model="selectedOptions"> <el-checkbox label="option1">选项1</el-checkbox> <el-checkbox label="option2">选项2</el-checkbox> <el-checkbox label="option3">选项3</el-checkbox> <el-checkbox label="option4">选项4</el-checkbox> </el-checkbox-group> ``` 2.将selectedOptions保存在本地存储或vuex中,在页面刷新或重新进入时,从本地存储或vuex中获取selectedOptions的值,并将其赋给el-checkbox-group的v-model,即可恢复之前选中的选项。 ```javascript // 在mounted生命周期函数中获取selectedOptions的值 mounted() { this.selectedOptions = JSON.parse(localStorage.getItem('selectedOptions')) || [] }, // 在beforeUnmount生命周期函数中保存selectedOptions的值 beforeUnmount() { localStorage.setItem('selectedOptions', JSON.stringify(this.selectedOptions)) }, ``` 这样,在用户重新进入页面时,就能够恢复之前选中的选项。同时,在用户进行选择时,selectedOptions也会更新,保证了数据的实时性。 除了本地存储和vuex,我们还可以采用其他方法保存和恢复数据,比如使用Cookie或将选中的选项传递给后端进行处理等。总之,通过v-model定值,并将这个值保存和恢复,可以很方便地实现el-checkbox-group回显

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值