• elementui做自定义分页


    当后端返回的数据没有做分页时,可以在vue页面配置element 分页组件做分页:

    1,先在data中定义好分页相关的属性

    currentPage: 1, // 当前页码
    total: 10, // 总条数
    pageSize: 10 // 每页的数据条数
    

    2,在el-table中给数据源比如rightList做处理,这个是最核心的地方

    <el-table :data="rightsList.slice((currentPage-1)*pageSize,currentPage*pageSize)" style=" 100%" stripe border>
    </el-table>

    3,在</el-table>下面添加分页组件,并设置好相关属性

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

    4,分页方法处理

     handleSizeChange(val) 
    {
    	console.log(`每页 ${val} 条`);
    	this.currentPage = 1;
    	this.pageSize = val;
    },
    
    handleCurrentChange(val) {
    	console.log(`当前页: ${val}`);
    	this.currentPage = val;
    }

    重点:

    slice() 方法可从已有的数组中返回选定的元素。

    arrayObject.slice(start,end) 

    参数start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

    参数end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    el-table中的data数据:

    :data="rightList.slice((currentPage-1)*pageSize,currentPage*pageSize)"

    设置分页器total等于table数据的长度:

    :total="tableData.length"
  • 相关阅读:
    JS 时间格式化函数
    jQuery 输入框 在光标位置插入内容, 并选中
    js Html结构转字符串形式显示
    .aspx 页面引用命名空间
    sql随机实现,sql GUID
    一个清华女大学生与一个普通二本男大学生的QQ聊天记录
    asp.net inc 的使用
    JS编码,解码. asp.net(C#)对应解码,编码
    SQL的小常识, 备忘之用, 慢慢补充.
    Js 时间间隔计算(间隔天数)
  • 原文地址:https://www.cnblogs.com/JeffreyZhu/p/15820113.html
Copyright © 2020-2023  润新知