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

文章讲述了在使用Vue的ElCheckboxGroup组件时,遇到后端返回null而非空数组导致的TypeError。作者提供了处理方法,即在获取数据后检查并将null转换为[],确保数组操作的正确性。

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

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;
          });
        }
      }
    },

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值