• 在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

  • 相关阅读:
    【多线程与高并发】- 线程基础与状态
    Latex中公式输入
    Linux学习-46-LVM逻辑卷管理机制
    typeof null的结果为什么是Object?
    CLIPBERT(2021 CVPR)
    C++模板(类模板)
    火狐挂代理访问问题Software is preventing Firefox from safely connecting to this site
    我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:虚拟机与Java虚拟机介绍
    「PAT乙级真题解析」Basic Level 1078 字符串压缩与解压 (问题分析+完整步骤+伪代码描述+提交通过代码)
    walmart沃尔玛美海淘攻,2024最新版walmart海淘教程
  • 原文地址:https://blog.csdn.net/kfashfasf/article/details/134504624