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>
相关推荐
低代码布道师15 小时前
Next.js 16 全栈实战(一):从零打造“教培管家”系统——环境与脚手架搭建
开发语言·javascript·ecmascript
一位搞嵌入式的 genius15 小时前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式
choke23316 小时前
[特殊字符] Python 文件与路径操作
java·前端·javascript
wqq631085516 小时前
Python基于Vue的实验室管理系统 django flask pycharm
vue.js·python·django
Deng94520131416 小时前
Vue + Flask 前后端分离项目实战:从零搭建一个完整博客系统
前端·vue.js·flask
Hello.Reader16 小时前
Flink 文件系统通用配置默认文件系统与连接数限制实战
vue.js·flink·npm
wuhen_n16 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
鹿心肺语17 小时前
前端HTML转PDF的两种主流方案深度解析
前端·javascript
一个懒人懒人17 小时前
Promise async/await与fetch的概念
前端·javascript·html
EchoEcho18 小时前
深入理解 Vue.js 渲染机制:从声明式到虚拟 DOM 的完整实现
vue.js