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

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

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 控制分页逻辑。

<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 确保数据变化触发视图更新。

elementui tabledata

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

分享给朋友:

相关文章

elementui核心

elementui核心

Element UI 核心概念 Element UI 是基于 Vue.js 2.0 的桌面端组件库,其核心设计理念是简洁、高效、易用。以下是其核心组成部分: 组件化设计 提供丰富的 UI 组件,如…

elementui transfer

elementui transfer

ElementUI Transfer 组件使用指南 ElementUI 的 Transfer 组件用于在两栏之间转移数据,适用于权限分配、数据分类等场景。以下为详细使用方法: 基础用法 在模板中引入…

elementui备注

elementui备注

使用 Element UI 添加备注功能 Element UI 提供了多种组件可以用来实现备注功能,具体选择取决于需求场景。以下是几种常见的实现方式: 输入框备注 使用 el-input 组件创建单…

移植elementui

移植elementui

移植 Element UI 的方法 Element UI 是一个基于 Vue.js 的组件库,移植通常涉及从旧项目迁移到新项目或升级版本。以下是常见的移植方法: 安装 Element UI 在目标项…

elementui npm

elementui npm

安装 Element UI 的步骤 使用 npm 安装 Element UI 是最常见的方式,适用于基于 Vue.js 的项目。 npm install element-ui -S 安装完成后,可以…

elementui上线

elementui上线

Element UI 上线流程 Element UI 是一个基于 Vue.js 的桌面端组件库,上线流程涉及项目构建、测试、部署等环节。以下是关键步骤: 构建项目 使用 Vue CLI 或 webp…