Vue3 Element Plus 表格默认显示一行

方法一:使用 empty-text 属性

html 复制代码
<el-table :data="tableData" empty-text="暂无数据">
  <!-- 列定义 -->
  <el-table-column prop="name" label="姓名"></el-table-column>
  <el-table-column prop="age" label="年龄"></el-table-column>
</el-table>

方法二:使用空数组并设置默认行

javascript 复制代码
import { ref } from 'vue';

const tableData = ref([{}]); // 默认包含一个空对象
html 复制代码
<el-table :data="tableData">
  <!-- 列定义 -->
  <el-table-column prop="name" label="姓名"></el-table-column>
  <el-table-column prop="age" label="年龄"></el-table-column>
</el-table>

方法三:自定义空状态插槽

html 复制代码
<el-table :data="tableData">
  <!-- 列定义 -->
  <el-table-column prop="name" label="姓名"></el-table-column>
  <el-table-column prop="age" label="年龄"></el-table-column>
  
  <template #empty>
    <el-table-row>
      <el-table-column :span="2">暂无数据</el-table-column>
    </el-table-row>
  </template>
</el-table>

方法四:始终显示一行(即使数据为空)

javascript 复制代码
import { ref, computed } from 'vue';

const realData = ref([]); // 实际数据
const tableData = computed(() => {
  return realData.value.length > 0 ? realData.value : [{}];
});

注意事项

  1. 如果使用空对象作为默认行,表格中的列可能会显示为空白

  2. 对于需要特殊样式的默认行,可以通过 row-class-name 属性添加自定义类名

  3. 如果需要在默认行中添加特定的占位文本,可以在列定义中使用插槽

    html 复制代码
    <el-table-column prop="name" label="姓名">
      <template #default="{ row }">
        {{ row.name || '-' }}
      </template>
    </el-table-column>
相关推荐
小信丶10 小时前
解决 pnpm dev 报错:系统禁止运行脚本的问题
前端·vue.js·windows·npm
૮・ﻌ・10 小时前
Vue3:组合式API、Vue3.3新特性、Pinia
前端·javascript·vue3
前端不太难10 小时前
RN + TypeScript 项目越写越乱?如何规范架构?
前端·javascript·typescript
JS_GGbond10 小时前
用美食来理解JavaScript面向对象编程
开发语言·javascript·美食
苏打水com10 小时前
第十六篇:Day46-48 前端安全进阶——从“漏洞防范”到“安全体系”(对标职场“攻防实战”需求)
前端·javascript·css·vue.js·html
AY呀10 小时前
Vite:现代前端构建工具的革命与实战指南
前端·vue.js·vite
重铸码农荣光11 小时前
用AI把猫主子变成冰球猛将?我搞了个“宠物拟人化”神器,结果……它真敢打!
vue.js·低代码·coze
猿究院_xyz12 小时前
微信小程序与echarts联动安卓真机测试出现黑色阴影
前端·javascript·微信小程序·小程序·echarts
刺客xs12 小时前
Qt-----QSS样式表
开发语言·javascript·qt
m0_7400437312 小时前
3、Vuex-Axios-Element UI
前端·javascript·vue.js