如何使用Vue和Element-UI实现数据表格的分页显示

1. 简介

Vue和Element-UI是一对非常常用的前端框架,分别用于构建前端应用和UI界面。在实际的开发中,我们经常需要构建一些数据表格来展示数据,因此掌握如何使用Vue和Element-UI来实现数据表格的分页显示是非常重要的。

2. 前置条件

在开始阅读本文前,需要先了解Vue和Element-UI的基本使用方法,如果您还不熟悉这两个框架,可以通过以下链接进入相关学习文档:

Vue官网

Element-UI官网

3. 实现步骤

3.1 数据准备

首先需要准备一些要展示的数据。在这里我们先使用静态数据,可以在Vue实例中定义一个数组来存储这些数据:

data() {

return {

tableData: [

{ name: '张三', age: 22, gender: '男', address: '北京市海淀区' },

{ name: '李四', age: 25, gender: '女', address: '上海市浦东新区' },

{ name: '王五', age: 18, gender: '男', address: '深圳市福田区' },

{ name: '赵六', age: 30, gender: '女', address: '广州市天河区'},

{ name: '钱七', age: 24, gender: '男', address: '成都市高新区' }

],

currentPage: 1, // 当前页码

pageSize: 2, // 每页显示的数据条数

}

},

在这里定义了一个名为tableData的数组,包含了五条数据,同时定义了当前页码和每页显示的数据条目数。这里我们默认每页显示两条数据。

3.2 构建表格

接下来需要在页面中构建一个表格来展示这些数据。Element-UI提供了非常方便的el-table组件,我们可以直接使用这个组件来构建表格。

首先,在模板中引入el-table组件:

<template>

<div class="container">

<el-table :data="tableData">

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

<el-table-column prop="age" label="年龄" ></el-table-column>

<el-table-column prop="gender" label="性别" ></el-table-column>

<el-table-column prop="address" label="地址" ></el-table-column>

</el-table>

</div>

</template>

在这个表格中,我们使用了四个el-table-column组件来定义表格的列,分别对应姓名、年龄、性别和地址四个属性。prop属性可以指定要展示的数据的属性名, label属性可以指定表格头部的列名。此时运行应用,我们可以看到一个简单的表格已经呈现在页面上了。

3.3 实现分页

接下来需要实现分页功能。Element-UI同样提供了一个方便的el-pagination组件来实现分页功能。

首先,在模板中引入el-pagination组件:

<template>

...

<el-pagination v-model="currentPage" :page-size="pageSize" :total="tableData.length"></el-pagination>

</template>

在这个el-pagination组件中,我们指定了v-model属性,这个属性将在当前页码改变时自动更新其值。pageSize属性指定了每页显示的数据条数,total属性指定了要展示的总数据条数。此时运行应用,我们已经能看到分页组件出现在页面上了,并且在切换页码时,表格中的数据也随之改变。

3.4 完整代码

至此,我们已经完成了使用Vue和Element-UI实现数据表格的分页显示的全部过程,以下是完整的Vue示例代码:

<template>

<div class="container">

<el-table :data="tableData">

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

<el-table-column prop="age" label="年龄" ></el-table-column>

<el-table-column prop="gender" label="性别" ></el-table-column>

<el-table-column prop="address" label="地址" ></el-table-column>

</el-table>

<el-pagination v-model="currentPage" :page-size="pageSize" :total="tableData.length"></el-pagination>

</div>

</template>

<script>

export default {

data() {

return {

tableData: [

{ name: '张三', age: 22, gender: '男', address: '北京市海淀区' },

{ name: '李四', age: 25, gender: '女', address: '上海市浦东新区' },

{ name: '王五', age: 18, gender: '男', address: '深圳市福田区' },

{ name: '赵六', age: 30, gender: '女', address: '广州市天河区'},

{ name: '钱七', age: 24, gender: '男', address: '成都市高新区' }

],

currentPage: 1, // 当前页码

pageSize: 2, // 每页显示的数据条数

}

},

}

</script>

4. 总结

本文介绍了使用Vue和Element-UI实现数据表格的分页显示的过程,并提供了完整的Vue示例代码。希望通过本文的学习,您能对如何使用Vue和Element-UI构建数据表格有更深入的了解。