muyuqian 2024-09-29 06:47 采纳率: 0%
浏览 3

el-table.rowKey,数据为空时,遇到的问题

使用element-plus的el-table,设置:row-key="row=>row.id",当表格数据为空时,有bug。

img

报错如下:

img

哪位同学遇到吗?如何解决的?求方法!

  • 写回答

2条回答 默认 最新

  • 一轮明月照丘壑 2024-09-29 06:48
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    你的问题是在使用 Element Plus 的 <el-table> 组件时,当数据为空时遇到了问题。你设置了 :row-key="row => row.id",当数据为空时,尝试访问 row.id 会导致错误,因为 rownullundefined。这就是为什么你看到了 “Cannot read properties of null (reading 'forEach')” 的错误。这是因为内部代码尝试在 nullundefined 上调用 forEach 方法。

    为了解决这个问题,你可以在设置 row key 之前检查数据是否存在。你可以使用一个计算属性或者方法来实现这个逻辑。下面是一个简单的例子:

    <template>
      <el-table ref="multipleTableRef" :data="commodityPageList" :row-key="getRowKey">
        <!-- 其他代码 -->
      </el-table>
    </template>
    
    <script>
    export default {
      data() {
        return {
          commodityPageList: [], // 你的数据列表
        };
      },
      methods: {
        getRowKey(row) {
          return row && row.id || ''; // 如果 row 不存在或者 row.id 不存在,则返回空字符串
        },
      },
      // 其他代码
    };
    </script>
    

    在这个例子中,我们创建了一个 getRowKey 方法来返回行键。这个方法首先检查 row 是否存在以及 row.id 是否存在,如果不存在,就返回空字符串。这样,即使数据为空,也不会尝试访问不存在的属性,从而避免了错误。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月29日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?