您的位置:首页 > Web前端 > Vue.js

Vue2.0+ElementUI实现表格翻页的实例

2017-10-23 08:50 1306 查看

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的名称。

最后成果。

以上这篇Vue2.0+ElementUI实现表格翻页的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息