• Vue2.0+ElementUI实现表格翻页


    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=" 100%">

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

    stripe为带斑马纹表格。

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

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

    最后成果

  • 相关阅读:
    考拉兹猜想,100万以内的数
    给任意a、b、c三个数作为边盘都是否能构成三角形
    计数算法-对200万考生的成绩就行排序
    冒泡排序
    插入排序
    Echarts
    vue+tinymce
    java RestTemplate.postForObject请求传参
    java计算今天起后7天时间 +昨天八点+今天前7天的日期
    layui+echarts+动态数据
  • 原文地址:https://www.cnblogs.com/zhouyifeng/p/7706815.html
Copyright © 2020-2023  润新知