elementui(elementui table)

天龙生活圈 59194次浏览

最佳答案 ElementUI Table 详解

ElementUI 是一套基于Vue.js 2.0 的桌面UI库,其中的Table组件是它的重要组成部分。该组件提供了数据排序、筛选、分页、展示等功能,且使用方便。下

ElementUI Table 详解

elementui(elementui table)

ElementUI 是一套基于Vue.js 2.0 的桌面UI库,其中的Table组件是它的重要组成部分。该组件提供了数据排序、筛选、分页、展示等功能,且使用方便。下面我们将详细介绍ElementUI Table组件。

数据展示

elementui(elementui table)

ElementUI Table组件的一个常见应用场景是展示数据,我们可以用它来展示后台返回的数据。例如以下代码用Table展示一个简单的对象数组:

<template> <el-table :data=\"tableData\" style=\"width: 100%\"> <el-table-column prop=\"name\" label=\"姓名\" width=\"200\"></el-table-column> <el-table-column prop=\"age\" label=\"年龄\" width=\"200\"></el-table-column> </el-table> </template>

在此示例中,我们把对象数组tableData传给了Table组件,然后在模板中定义了两个列,分别对应数组中的name和age属性,最终形成了一个带有表头、表格行等元素的Table展示。

数据排序

elementui(elementui table)

在前面的示例中,Table组件默认按照数据本身的顺序展示,但如果我们需要按照某个字段的值进行排序,可以使用Table组件提供的sort-by和sort-descending属性。例如以下代码展示如何按照age字段倒序排序:

<template> <el-table :data=\"tableData\" style=\"width: 100%\" :sort-by=\"'age'\" :sort-descending=\"true\"> <el-table-column prop=\"name\" label=\"姓名\" width=\"200\"></el-table-column> <el-table-column prop=\"age\" label=\"年龄\" width=\"200\"></el-table-column> </el-table> </template>

在上述代码中,我们将sort-by属性设置为age,表示按照age字段进行排序;将sort-descending设置为true,表示按照倒序排列。

数据筛选

elementui(elementui table)

Table组件还提供了筛选功能,类似于Excel的筛选。我们可以在列头中添加el-table-column-filter,实现表格的快速筛选。例如以下代码展示如何添加一个年龄的筛选:

<template> <el-table :data=\"tableData\" style=\"width: 100%\" :filter-method=\"filterHandler\"> <el-table-column prop=\"name\" label=\"姓名\" width=\"200\"></el-table-column> <el-table-column prop=\"age\" label=\"年龄\" width=\"200\"> <template slot=\"header\"> <span>年龄</span> <el-input v-model=\"filter.age\" size=\"mini\" @keyup.enter.native=\"filterHandler\" style=\"width: 60px; margin-left: 10px\"></el-input> </template> </el-table-column> </el-table> </template>

在此示例中,我们在年龄列的表头中添加了一个el-input组件,用于输入筛选条件。通过filter-method属性,我们将数据筛选的处理函数filterHandler绑定到了Table组件中。

分页操作

elementui(elementui table)

最后,Table组件还提供了分页操作,用于处理大量数据的展示与操作。分页操作一般分为三个部分:

1. 定义分页参数

2. 绑定分页处理函数

3. 显示分页器

例如以下代码展示如何添加分页操作:

<template> <el-table :data=\"tableData\" style=\"width: 100%\" :default-sort=\"{prop: 'age', order: 'descending'}\" :border=\"true\" :header-cell-style=\"{'background-color':'#f6f8fa','color': '#909399','font-weight': 'bold'}\" :pagination=\"true\" :page-size=\"5\" :layout=\"layout\" @sort-change=\"handleSort\" @current-change=\"handleCurrentChange\"> <el-table-column align=\"center\" type=\"selection\"></el-table-column> <el-table-column prop=\"id\" label=\"编号\" width=\"80\"></el-table-column> <el-table-column prop=\"date\" label=\"日期\" width=\"180\"></el-table-column> <el-table-column prop=\"name\" label=\"姓名\" width=\"160\"></el-table-column> <el-table-column prop=\"address\" label=\"地址\"></el-table-column> </el-table> </template>

在此示例中,我们将pagination属性设置为true,表示显示分页器;同时将pageSize属性设置为5,表示每页显示5条数据。另外,我们还绑定了handleSort和handleCurrentChange两个事件函数,以便处理数据的排序和切换页码等操作。

结束语

elementui(elementui table)

以上是针对ElementUI Table组件的基本介绍,包括数据展示、排序、筛选、分页操作等。本组件功能强大,使用方便,是Vue.js开发中常用的一个UI组件。我们可以根据实际项目的需求,对上述操作进行更多的定制和扩展。