使用vue3+<script setup>+element-plus中el-table前端切片完成分页效果

news/2024/11/25 22:12:16/
<template><div><el-table :data="visibleData" :row-key="row => row.id"><el-table-column prop="name" label="姓名"></el-table-column><el-table-column prop="age" label="年龄"></el-table-column><el-table-column prop="email" label="邮箱"></el-table-column></el-table><el-pagination@current-change="handleCurrentChange":current-page="currentPage":page-size="pageSize":total="total"></el-pagination></div>
</template><script setup>
import { ref, reactive, onMounted } from 'vue';const tableData = reactive([]);
const visibleData = reactive([]);
const currentPage = ref(1); // 当前页码
const pageSize = 10; // 每页显示的数据数量
const total = ref(0); // 总数据量const loadData = () => {// 模拟异步请求数据setTimeout(() => {// 假设从后端获取到的数据为 responseconst response = {data: [], // 当前页的数据total: 100 // 总数据量};tableData.splice(0, tableData.length, ...response.data);total.value = response.total;updateVisibleData();}, 1000);
};const updateVisibleData = () => {const start = (currentPage.value - 1) * pageSize;const end = currentPage.value * pageSize;visibleData.splice(0, visibleData.length, ...tableData.slice(start, end));
};const handleCurrentChange = (page) => {currentPage.value = page;updateVisibleData();
};onMounted(loadData);
</script>

在上面的示例中,我们使用了 <script setup> 语法来编写组件逻辑。通过 import 引入所需的函数和变量,然后在 <script setup> 中直接使用它们。

在 onMounted 钩子函数中,我们调用 loadData 方法来加载初始数据。

在 handleCurrentChange 方法中,我们更新 currentPage 的值,并调用 updateVisibleData 方法来更新可见数据。

通过这样的实现,你可以在前端完成分页效果,并根据当前页码和每页显示的数据数量来展示对应的数据。


http://www.ppmy.cn/news/1296486.html

相关文章

我的阿里云服务器被攻击了

服务器被DDoS攻击最恶心&#xff0c;尤其是阿里云的服务器受攻击最频繁&#xff0c;因为黑客都知道阿里云服务器防御低&#xff0c;一但被攻击就会进入黑洞清洗&#xff0c;轻的IP停止半小时&#xff0c;重的停两个至24小时&#xff0c;给网站带来很严重的损失。而处理 ddos 攻…

ubuntu升级22.04

要将Ubuntu系统从当前版本&#xff08;如18.04&#xff09;升级到22.04&#xff0c;可以按照以下步骤进行操作&#xff1a; 首先确保已经安装了最新的软件包更新。打开终端并运行以下命令来更新现有的软件包列表&#xff1a; sudo apt update 然后使用以下命令来升级所有已安装…

洗地机什么牌子好?目前口碑最好的洗地机

如今&#xff0c;人们的生活中&#xff0c;洗地机已经成为了越来越受欢迎的清洁工具&#xff0c;洗地机能迅速而有效地清理地板、地毯以及其他硬表面&#xff0c;为用户提供更加方便快捷的洗地机体验。那么&#xff0c;洗地机什么牌子好?我们一起来看看目前口碑最好的洗地机有…

洛谷二分题解合集

前言 今天带着大家根据C&#xff1a;第十讲二分查找-CSDN博客 继续讲一下二分的题目。 P1102 A-B 数对 题目背景 出题是一件痛苦的事情&#xff01; 相同的题目看多了也会有审美疲劳&#xff0c;于是我舍弃了大家所熟悉的 AB Problem&#xff0c;改用 A-B 了哈哈&#xff…

RT-Thread: 基于STM32CubeMX配置驱STM32驱动的USB虚拟串口调试

关键词&#xff1a;USB 虚拟串口 USB虚拟串口&#xff0c;RT-Thread Studio&#xff0c;STM32 说明&#xff1a; 1&#xff1a;文档记录 STM32F103系列基于 RT-Thread 系统的 USB虚拟串口的开启及数据收发应用流程介绍。 2&#xff1a;本文以STM32F103C8T6型号做测试&#x…

Redis过期清理策略和内存淘汰机制

目录 Redis过期清理策略Redis内存淘汰机制 Redis过期清理策略 Redis 通过设置键的过期时间来实现自动删除过期键。当键的过期时间到达时&#xff0c;Redis 会自动将该键删除。Redis 过期清理策略主要有以下两种&#xff1a; 惰性删除&#xff1a;Redis 在获取键时会检查键是否…

如何克隆驱动器,不同的操作系统有不同的推荐软件

你需要将Windows或macOS安装迁移到新驱动器吗?你可以使用服务备份文件,也可以创建数据的完整一对一副本。通过克隆你的驱动器,你可以创建一个精确的副本。 一些业务级别的备份服务,如IDrive和Acronis,具有内置的磁盘克隆功能,是对正常文件备份的补充。但对于一次性克隆(…

【读书笔记】信息架构:超越Web设计-第六章《组织系统》

前言&#xff1a; 所有理解的开始都是分类。 我们组织信息是为了让其他人能够找到问题的答案&#xff0c;并给他们提供了解这些答案的场景。 我们致力于支持随意浏览和定向搜索。 我们的目标是设计让用户可以理解的组织和标签系统。 组织信息的挑战 我们都是图书管理员。不…