欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

基于Vue2.0+ElementUI实现表格翻页功能

时间:2021-08-24 08:47:20|栏目:vue|点击:

Element UI 是一套采用 Vue 2.0 作为基础框架实现的组件库,它面向企业级的后台应用,能够帮助你快速地搭建网站,极大地减少研发的人力与时间成本。在这个月的 NingJS 上我们开源了这个项目,当时它的文档还没有准备好。今天,经过两周多的完善, Element UI 的文档正式上线啦!目前它处于 rc 阶段,正式版将于 Vue 2.0 发布后第一时间跟进。 欢迎大家来使用和完善,一起把它做成 Vue 最好的企业级组件库。

ElementUI的表格要求的数据类型为字典数组。我使用了python3写后端,那么从数据库取数据时添加一行cursorclass=pymysql.cursors.DictCursor即可。取出后我将其存入redis数据库方便之后取用。取用时使用eval()函数再传到前端即可。

前端放置Pagination 分页器,我这里直接采用了完整功能的分页器。

<el-pagination
  @size-change="handleSizeChange"
  @current-change="handleCurrentChange"
  :current-page="currentPage"
  :page-sizes="[10, 20, 50, 100]"
  :page-size="pagesize"
  layout="total, sizes, prev, pager, next, jumper"
  :total="data.length">
</el-pagination>

其中:handleSizeChange为pagesize发生改变时的相应函数,handleCurrentChange为currentPage发生改变时的相应函数。

page-sizes为所有可选择的page-size。可以自己更改其中的数字。

layout为附带的功能,一般不用动它。

total为总数据数。由于是字典数组,直接使用length方法即可得到总数据数。

data () {
  return {
    data: [],
    currentPage:1,
    pagesize:20,
  }
},

初始页currentPage、初始每页数据数pagesize和数据data

methods: {
  handleSizeChange: function (size) {
    this.pagesize = size;
  },
  handleCurrentChange: function(currentPage){
    this.currentPage = currentPage;
  }
}

上面的两个响应函数,很好理解。

<el-table
  :data="data.slice((currentPage-1)*pagesize,currentPage*pagesize)"
  stripe
  style="width: 100%">

el-table标签。通过计算很容易得到,要使当页显示分页后的对应数据,其下标应为(当前页-1)*每页数据数  到  当前页*每页数据数。使用slice方法进行取用。

stripe为带斑马纹表格。

<el-table-column
  prop="id"
  label="序号"
  align="center">
</el-table-column>

column标签。可放多个,对每列的控制。label为该列名称,显示在第一行。prop为data中的某key的名称。

总结

上一篇:vue 中的 render 函数作用详解

栏    目:vue

下一篇:vue2 拖动排序 vuedraggable组件的实现

本文标题:基于Vue2.0+ElementUI实现表格翻页功能

本文地址:http://www.codeinn.net/misctech/169485.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有