vue3+element Plus实现表格前端分页完整示例

 更新时间:2023年08月16日 10:32:40   作者:Xwf1023  
这篇文章主要给大家介绍了关于vue3+element Plus实现表格前端分页的相关资料,虽然很多时候后端会把分页,搜索,排序都做好,但是有些返回数据并不多的页面,或者其他原因不能后端分页的通常会前端处理,需要的朋友可以参考下

每一处都写了注释,还是很容易看懂的

<template>
  <div class="home">
    <el-table :data="tableData()" style="width: 100%">
      <el-table-column type="index" width="50" />
      <el-table-column prop="date" label="日期" width="180" />
      <el-table-column prop="name" label="名字" width="180" />
      <el-table-column prop="address" label="地址" />
    </el-table>
    <div class="example-pagination-block">
      <!-- <div class="example-demonstration">分页</div> -->
      <el-pagination
        background
        layout="prev, pager, next ,total,sizes"
        :total="total"
        @current-change="handleCurrentChange"
        @size-change="handleSizeChange"
      />
    </div>
  </div>
</template>
<script lang="ts">
import { defineComponent, reactive, toRefs } from "vue";
export default defineComponent({
  name: "HomeView",
  components: {},
  setup() {
    //表格的全数据(这里是自定义的列表,要看分页效果自行往此数组内加数据)
    const allTableData = [
      {
        date: "2016-05-03",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles",
      },
      {
        date: "2016-05-02",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles",
      },
      {
        date: "2016-05-04",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles",
      },
      {
        date: "2016-05-01",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles",
      },
    ];
    //表格用到的参数
    const state = reactive({
      page: 1,
      limit: 10,
      total: allTableData.length,
    });
    //前端限制分页(tableData为当前展示页表格)
    const tableData = () => {
      return allTableData.filter(
        (item, index) =>
          index < state.page * state.limit &&
          index >= state.limit * (state.page - 1)
      );
    };
    //改变页码
    const handleCurrentChange = (e) => {
      state.page = e;
    };
    //改变页数限制
    const handleSizeChange = (e) => {
      state.limit = e;
    };
    return {
      allTableData,
      tableData,
      handleCurrentChange,
      handleSizeChange,
      ...toRefs(state),
    };
  },
});
</script>

总结

到此这篇关于vue3+element Plus实现表格前端分页的文章就介绍到这了,更多相关vue3+elementPlus表格前端分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Vue中实现文件批量下载功能

    在Vue中实现文件批量下载功能

    在Vue项目开发中,实现文件批量下载是一个常见需求,例如,在一个文档管理系统中,用户可能希望一次性下载多个相关文档;在图片库应用里,用户可能需要批量获取一组图片,接下来,将介绍如何在Vue中实现文件批量下载功能,需要的朋友可以参考下
    2025-06-06
  • 使用vite创建vue3项目的详细图文教程

    使用vite创建vue3项目的详细图文教程

    创建Vue3项目有两种常见的方式,一种是想vue2版本一样使用脚手架工具创建,创建vue3项目的脚手架必须是4版本以上的,另一种方法就是使用vite创建,这篇文章主要给大家介绍了关于如何使用vite创建vue3项目的相关资料,需要的朋友可以参考下
    2022-11-11
  • Vuex之module使用方法及场景说明

    Vuex之module使用方法及场景说明

    这篇文章主要介绍了Vuex之module使用方法及场景说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 在Vue应用中处理404页面的解决方法

    在Vue应用中处理404页面的解决方法

    在现代的单页面应用(SPA)中,404错误是不可避免的,当用户访问一个无效的路由时,我们希望能够提供一个友好的404页面,以改善用户体验,在这篇博客中,我们将探讨如何在Vue应用中处理404页面,并提供示例代码帮助你更好地理解这一过程,需要的朋友可以参考下
    2024-12-12
  • Vue router 路由安装及使用过程

    Vue router 路由安装及使用过程

    vue-router 是 Vue 的一个插件库,适用于构建单页面应用,这篇文章主要介绍了Vue router 路由安装以及使用,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • vue实现的树形结构加多选框示例

    vue实现的树形结构加多选框示例

    这篇文章主要介绍了vue实现的树形结构加多选框,结合实例形式分析了在之前递归组件实现vue树形结构的基础之上再加上多选框功能相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • 如何在vite里获取env环境变量浅析

    如何在vite里获取env环境变量浅析

    开发中经常会使用环境变量,Vite相比于Webpack也有一定的变化,下面这篇文章主要给大家介绍了关于如何在vite里获取env环境变量的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • vue实现选项卡及选项卡切换效果

    vue实现选项卡及选项卡切换效果

    这篇文章主要介绍了vue实现选项卡选项卡切换效果,这里的Vue以单文件的形式引入,另外代码在实现上会一步步的进行优化。需要的朋友可以参考下
    2018-04-04
  • vue如何实现动态加载脚本

    vue如何实现动态加载脚本

    这篇文章主要介绍了vue如何实现动态加载脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Vue3 源码导读(推荐)

    Vue3 源码导读(推荐)

    这篇文章主要介绍了Vue3 源码导读(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论