vue2中el-checkbox绑定的数据是null的处理方案

el-checkbox-group需要绑定的是一个空数组或者是数组,但是后端有可能会偷懒不给你空数组而给你一个null,那么就会报错:

vue.runtime.esm.js:620 [Vue warn]: Error in render: "TypeError: Cannot read properties of null (reading 'length')"

found in

---> <ElCheckbox> at packages/checkbox/src/checkbox.vue
       <ElCheckboxGroup> at packages/checkbox/src/checkbox-group.vue
         <Index> at src/silence/event/eventManage/index.vue
           <ElMain> at packages/main/src/main.vue
             <ElContainer> at packages/container/src/main.vue... (1 recursive calls)
               <Layout> at src/admin/views/layout/index.vue
                 <App> at src/App.vue

那么需要你在获取数据的时候,把后端给你的null修改为[]

    async GetData(val) {
      const res = await GetData(val);
      if (res.status === 200) {
        this.isShow = res.data.id !== 0;//这段我用来判断是否是全局参数的,按照自己的需求来,一般你们是不需要这句代码的。

        this.ruleData = res.data;//把你获取到的参数赋值给一个空的数组,然后使用

        // 检查send_rule是否存在并且是一个数组
        if (Array.isArray(this.ruleData.send_rule)) {
          // 遍历send_rule数组
          this.ruleData.send_rule = this.ruleData.send_rule.map(rule => {
            // 如果send_method是null,则将其转换为一个空数组
            if (rule.send_method === null) {
              return {...rule, send_method: []};
            }
            // 否则,保持原样
            return rule;
          });
        }
      }
    },

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
el-checkbox-group可以通过v-model来保存选数据。v-model的是一个数组,可以通过改变数组的值来实现数据的保存。每当用户选择一个或多个checkbox时,选的值会被添加到v-model的数组,用户取消选择时,对应的值会从数组移除。这样,最终v-model的数组就保存了用户选择的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [el-checkbox-group修改默认样式,el-checkbox-group自义样式案例](https://blog.csdn.net/weixin_41346436/article/details/126698899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [nested_el-checkbox:element-ui的el-checkbox实现嵌套多选,单选](https://download.csdn.net/download/weixin_42107561/18609162)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Vue动态生成el-checkbox点击无法赋值的解决方法](https://download.csdn.net/download/weixin_38599412/13255919)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值