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

elementui tabledata

2026-03-06 02:08:00前端教程

ElementUI Table Data 使用指南

基本用法

ElementUI 的表格组件 el-table 通过 data 属性绑定数据源。数据格式通常为数组,数组中的每个对象代表一行数据,对象的属性对应表格的列。

<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: '上海市' },
        { date: '2023-01-03', name: '王五', address: '广州市' }
      ]
    }
  }
}
</script>

动态加载数据

可以通过异步请求(如 axios)动态加载数据并更新 tableData

elementui tabledata

methods: {
  fetchData() {
    axios.get('/api/data').then(response => {
      this.tableData = response.data
    })
  }
},
created() {
  this.fetchData()
}

表格排序与筛选

ElementUI 表格支持通过 sortablefilters 实现排序和筛选功能。

<el-table-column 
  prop="date" 
  label="日期" 
  sortable 
  :filters="[{ text: '北京', value: '北京市' }, { text: '上海', value: '上海市' }]"
  :filter-method="filterHandler">
</el-table-column>
methods: {
  filterHandler(value, row, column) {
    return row.address === value
  }
}

分页功能

结合 el-pagination 实现分页,通过 current-pagepage-size 控制分页逻辑。

elementui tabledata

<el-pagination
  @current-change="handlePageChange"
  :current-page="currentPage"
  :page-size="pageSize"
  layout="total, prev, pager, next"
  :total="total">
</el-pagination>
data() {
  return {
    currentPage: 1,
    pageSize: 10,
    total: 0
  }
},
methods: {
  handlePageChange(page) {
    this.currentPage = page
    this.fetchData()
  }
}

自定义列模板

通过 slot-scope 自定义列内容,例如添加操作按钮或格式化数据。

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

数据更新与响应式

直接修改 tableData 或使用 Vue.set 确保数据变化触发视图更新。

methods: {
  addRow() {
    this.tableData.push({ date: '2023-01-04', name: '赵六', address: '深圳市' })
  }
}

分享给朋友:

相关文章

elementui视频

elementui视频

以下是关于 ElementUI 视频资源的整理,涵盖教程、实战案例和官方资源: ElementUI 官方视频资源 ElementUI 官方文档虽以文字为主,但部分社区或第三方平台可能有官方团队发布的…

elementui锁屏

elementui锁屏

ElementUI 锁屏功能实现 ElementUI 本身并未直接提供锁屏组件,但可以通过遮罩层、自定义指令或结合 Vue 路由守卫实现类似效果。以下是几种常见实现方式: 使用遮罩层与自定义指令 通…

elementui包

elementui包

关于Element UI Element UI是一套基于Vue.js 2.0的桌面端组件库,由饿了么前端团队开发并开源。它提供了丰富的UI组件和交互设计,适合快速构建中后台管理系统或企业级应用。 核…

elementui sass

elementui sass

在 Element UI 中使用 Sass Element UI 支持通过 Sass 进行样式定制,可以通过修改变量或覆盖样式来实现主题定制或组件样式调整。 安装 Sass 相关依赖: npm i…

elementui rowspan

elementui rowspan

合并行(Rowspan)在 Element UI 表格中的实现 Element UI 的表格组件默认不直接支持 rowspan 属性,但可以通过自定义 span-method 方法实现合并行功能。以下…

elementui和

elementui和

ElementUI 简介 ElementUI 是一套基于 Vue.js 的桌面端组件库,由饿了么前端团队开发并开源。它提供了丰富的 UI 组件(如表格、表单、弹窗等),适用于快速构建企业级中后台管理系…