当前位置:首页 > 前端教程

elementui table

2026-01-12 15:26:38前端教程

ElementUI Table 基本用法

ElementUI 的 Table 组件用于展示结构化数据,支持排序、筛选、分页等功能。以下是一个基础示例:

<template>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column prop="date" label="日期" width="180"></el-table-column>
    <el-table-column prop="name" label="姓名" width="180"></el-table-column>
    <el-table-column prop="address" label="地址"></el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { date: '2023-01-01', name: '张三', address: '北京市' },
        { date: '2023-01-02', name: '李四', address: '上海市' }
      ]
    };
  }
};
</script>

表格属性与功能

常用属性

  • data: 绑定表格数据源(数组格式)。
  • border: 添加边框(<el-table border>)。
  • stripe: 启用斑马纹样式(<el-table stripe>)。

分页功能
结合 el-pagination 实现分页:

<el-pagination
  @size-change="handleSizeChange"
  @current-change="handleCurrentChange"
  :current-page="currentPage"
  :page-sizes="[10, 20, 50]"
  :page-size="pageSize"
  layout="total, sizes, prev, pager, next"
  :total="total">
</el-pagination>

自定义列模板

通过 slot-scope 自定义列内容,例如添加操作按钮:

<el-table-column label="操作">
  <template slot-scope="scope">
    <el-button @click="handleEdit(scope.row)">编辑</el-button>
  </template>
</el-table-column>

排序与筛选

  • 排序: 在列配置中设置 sortable
    <el-table-column prop="date" label="日期" sortable></el-table-column>
  • 筛选: 使用 filtersfilter-method
    <el-table-column prop="name" label="姓名" :filters="[{ text: '张三', value: '张三' }]" :filter-method="filterHandler"></el-table-column>

动态加载与懒加载

  • 动态加载: 通过 v-if 控制列的显隐。
  • 懒加载: 使用 load 方法结合树形表格(<el-table tree-props>)。

响应式适配

通过监听窗口大小变化动态调整表格高度:

mounted() {
  window.addEventListener('resize', this.calcTableHeight);
},
methods: {
  calcTableHeight() {
    this.tableHeight = window.innerHeight - 200;
  }
}

注意事项

  • 大数据量时建议启用虚拟滚动(需配合第三方库或 ElementUI Pro)。
  • 复杂表头可使用 el-table-column 嵌套实现多级表头。
  • 样式覆盖需谨慎,避免全局污染(推荐使用 Scoped CSS)。

elementui table

标签: elementuitable
分享给朋友:

相关文章

elementui响应式布局

elementui响应式布局

响应式布局基础概念 响应式布局指页面能够根据屏幕尺寸自动调整结构和样式,确保在不同设备上呈现良好的用户体验。Element UI 基于 Vue.js,其组件默认支持响应式设计,但需结合 CSS 媒体查…

elementui中文网

elementui中文网

Element UI 中文网相关信息 Element UI 是一款基于 Vue.js 的开源 UI 组件库,由饿了么前端团队开发和维护。以下是关于 Element UI 中文网的相关信息: 官方网…

elementui获取input的值

elementui获取input的值

获取 input 值的常用方法 在 Element UI 中,可以通过 v-model 双向绑定或 ref 引用的方式获取 input 组件的值。 使用 v-model 双向绑定 <te…

elementui升级plus

elementui升级plus

Element UI 升级到 Element Plus 的方法 Element Plus 是 Element UI 的升级版本,专为 Vue 3 设计,提供了更好的性能和更多新特性。以下是升级的具体步…

elementui使用

elementui使用

安装 Element UI 通过 npm 或 yarn 安装 Element UI: npm install element-ui --save # 或 yarn add element-ui 在项…