• 在Vue3中使用Element-Plus分页(Pagination )组件


    开发过程中数据展示会经常使用到,同时分页功能也会添加到页面中。

    记:在Vue3中使用Element-Plus分页组件与表格数据实现分页交互。

    开始实现

    1. 引入表格和分页组件的H5标签。

    1. <strong>Element-Plus分页组件使用</strong>
    2. <div>
    3. <el-table :data="tableData" style="width: 100%">
    4. <el-table-column prop="id" label="这里是id" width="180" />
    5. <el-table-column prop="data" label="这里是一些数据" width="180" />
    6. </el-table>
    7. <el-pagination
    8. :current-page="searchData.current"
    9. :page-size="searchData.limit"
    10. :total="total"
    11. :pager-count="6"
    12. style="text-align: center;margin-top: 20px;"
    13. layout="jumper, prev, pager, next, total"
    14. @current-change="getData" />
    15. </div>

    1. js代码,先初始化变量。

    1. <script setup>
    2. import {ref,reactive,onMounted} from 'vue'
    3. // tableData-表格数据列表,total-数据总长度
    4. const tableData=ref([])
    5. const total=ref(0)
    6. // searchData-向后端分页查询的对象,即当前页和每页总数
    7. const searchData=reactive({
    8. current:1,
    9. limit:10
    10. })
    11. ...
    12. </script>

    1. 没用到后台,所以就把表格的数据写固定了。下面就表格数据生成,还有模拟对数据的分页。

    1. //表格数据生成
    2. function tableAddData(){
    3. //给表格添加数据,调接口赋值同理
    4. var index=0
    5. //因为数据是固定生成的,容易出错,所以这里要清一下
    6. tableData.value=[]
    7. for(var i=1;i<=101;i++){
    8. let data={}
    9. data.id=i
    10. data.data=`我的数据是:${i}`
    11. tableData.value.push(data)
    12. index+=1
    13. }
    14. total.value=index
    15. }
    16. //传入分页参数
    17. function pageQuery(current,limit){
    18. // 模仿分页查询,将表格的数据裁切一下
    19. // 1 2 3
    20. //下标 0-9 10-19 20-29
    21. let begin=current*limit-limit
    22. //这里不减一是因为,slice方法裁切是左闭右开数组
    23. let end=current*limit
    24. tableData.value=tableData.value.slice(begin,end)
    25. }

    1. 方法调用,这里需要注意几个地方。

    1. 第一次加载getData方法时,方法内的默认传的参数是空的,所以就赋个1,不然不太友好。

    2. 分页组件的@current-change调用的方法默认会传入一个参数,即点击的页码数。所以实现点击跳转,就要把分页查询参数的当前页current赋该值。

    1. function getData(val = 1){
    2. searchData.current=val
    3. // 先把数据搞上
    4. tableAddData()
    5. pageQuery(searchData.current,searchData.limit)
    6. }
    7. onMounted(async()=>{
    8. getData()
    9. })

    到这里就可以测试查看一下了

    • 初次加载

    • 点击页码,页面跳转

    • 测试这里的输入跳转功能也没问题,总数据也正常

    完成!

    文章转载自:離人非淺

    原文链接:https://www.cnblogs.com/7456Ll/p/17842820.html

  • 相关阅读:
    图解字符串匹配算法:从Brute-Force到KMP,一下子就整明白了
    Redis的介绍与使用
    Docker概念基本介绍以及安装
    Kotlin笔记(三):扩展函数,运算符重载
    11-1-转置卷积ConvTransposed2d
    Apache + svn 服务搭建
    自定义switch实现以下两种方式
    RFID技术在仓储物流供应链管理中的应用
    ActiveMQ 笔记(十)Linux部署:单机与集群部署流程
    【C语法学习】19 -关闭和刷新文件
  • 原文地址:https://blog.csdn.net/kfashfasf/article/details/134504624