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

elementui datatable

2026-03-06 06:34:21前端教程

ElementUI DataTable 基础用法

ElementUI 的 DataTable 组件(el-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: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' },
        { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' },
        { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄' }
      ]
    }
  }
}
</script>

排序功能

通过设置 sortable 属性可以启用列的排序功能:

<el-table-column prop="date" label="日期" sortable width="180"></el-table-column>

筛选功能

使用 filtersfilter-method 属性可以实现筛选功能:

<el-table-column prop="name" label="姓名" :filters="[{text: '王小虎', value: '王小虎'}]" :filter-method="filterHandler"></el-table-column>

methods 中添加筛选方法:

elementui datatable

filterHandler(value, row) {
  return row.name === value
}

分页功能

结合 el-pagination 组件实现分页:

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

自定义列模板

使用 scoped slot 可以自定义列的内容:

<el-table-column label="操作">
  <template #default="scope">
    <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
    <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
  </template>
</el-table-column>

多选功能

通过设置 type="selection" 可以启用多选功能:

elementui datatable

<el-table ref="multipleTable" :data="tableData" @selection-change="handleSelectionChange">
  <el-table-column type="selection" width="55"></el-table-column>
</el-table>

树形数据

ElementUI 的表格支持树形数据的展示:

<el-table :data="tableData" row-key="id" border default-expand-all :tree-props="{children: 'children'}">
  <el-table-column prop="date" label="日期" width="180"></el-table-column>
  <el-table-column prop="name" label="姓名" width="180"></el-table-column>
</el-table>

固定列

通过设置 fixed 属性可以固定列:

<el-table-column prop="name" label="姓名" width="180" fixed></el-table-column>

响应式设计

ElementUI 的表格会自动适应容器大小,也可以通过设置 fit 属性让列宽自适应:

<el-table :data="tableData" :fit="true">
  <el-table-column prop="date" label="日期"></el-table-column>
</el-table>

分享给朋友:

相关文章

elementui不足

elementui不足

Element UI 的局限性 Element UI 作为一款基于 Vue.js 的组件库,在快速开发中后台系统时广受欢迎,但也存在一些不足之处: 组件功能较为基础 Element UI 提供的组件…

elementui nuxt

elementui nuxt

在 Nuxt.js 中使用 Element UI Element UI 是一个基于 Vue.js 的组件库,适用于开发后台管理系统。在 Nuxt.js 项目中集成 Element UI 需要一些额外配…

elementui模板

elementui模板

ElementUI 模板使用指南 ElementUI 是一个基于 Vue.js 的组件库,提供丰富的 UI 组件,适用于快速开发中后台管理系统。以下是 ElementUI 模板的常见用法和资源推荐。…

elementui flex

elementui flex

以下是关于 Element UI 中 Flex 布局的详细说明和使用方法: Flex 布局基础 Element UI 的 Flex 布局基于 CSS Flexbox 模型,通过 el-row 和 e…

elementui消息

elementui消息

ElementUI 消息提示 ElementUI 提供了一套消息提示组件,包括 Message、MessageBox 和 Notification,用于展示不同类型的反馈信息。 消息提示(Mes…

elementui api

elementui api

以下是 Element UI 常用 API 的整理说明,按照组件分类呈现: Form 表单 model 绑定表单数据对象rules 表单验证规则validate 方法用于整体表单验证resetFie…