Vue3 -- 设置分页,切换分页之后选项仍能保留 控制多个表格的选中不会互相影响

在 Vue 3 中实现分页功能,并确保在切换分页时选中的选项能够保留,同时控制多个表格之间的选中状态不互相影响,可以按照以下步骤进行:

1. 数据结构设计

为每个表格维护独立的选中项和分页状态。可以使用一个对象来存储每个表格的选中项和分页信息:

data() {return {appDeployForm: {detail: [{ hostForm: [], selectedHosts: [], currentPage: 1, pageSize: 10, total: 0 }, // 第一个表格{ hostForm: [], selectedHosts: [], currentPage: 1, pageSize: 10, total: 0 }  // 第二个表格]}};
}

2. 表格渲染

使用 v-for 渲染多个表格,并在每个表格中使用 el-table 组件。确保每个表格都能独立管理自己的选中项和分页状态:

<el-row v-for="(item, index) in appDeployForm.detail" :key="index"><el-col :span="24"><el-form-item :label="$t('labels.host')"><el-table:data="item.hostForm"borderstyle="width:90%"highlight-current-row@selection-change="handleSelectionChange(item, $event)"><el-table-column type="selection" width="55"></el-table-column><el-table-column prop="name" :label="$t('columns.hostName')" align="left" min-width="5"></el-table-column><el-table-column prop="operation" :label="$t('columns.operation')" align="center" min-width="5"><template #default="scope"><a style="color:#1890ff;cursor:pointer" @click="deleteHost(scope.$index, scope.row, index)">删除</a></template></el-table-column></el-table></el-form-item><el-pagination@current-change="handlePageChange(item, $event)":current-page="item.currentPage":page-size="item.pageSize":total="item.total"></el-pagination></el-col>
</el-row>

3. 处理选中项

在表格的 @selection-change 事件中,更新对应表格的选中项:

methods: {handleSelectionChange(item, selectedRows) {item.selectedHosts = selectedRows;},deleteHost(index, row, tableIndex) {// 删除逻辑},handlePageChange(item, newPage) {item.currentPage = newPage;// 这里可以添加逻辑来更新表格数据,例如重新请求数据}
}

4. 保持选中项

在切换分页时,确保选中项能够保留。由于每个表格的选中项是独立的,切换分页不会影响其他表格的选中状态。

5. 示例代码

以下是完整的示例代码,展示了如何实现上述功能:

<template><el-row v-for="(item, index) in appDeployForm.detail" :key="index"><el-col :span="24"><el-form-item :label="$t('labels.host')"><el-table:data="item.hostForm"borderstyle="width:90%"highlight-current-row@selection-change="handleSelectionChange(item, $event)"><el-table-column type="selection" width="55"></el-table-column><el-table-column prop="name" :label="$t('columns.hostName')" align="left" min-width="5"></el-table-column><el-table-column prop="operation" :label="$t('columns.operation')" align="center" min-width="5"><template #default="scope"><a style="color:#1890ff;cursor:pointer" @click="deleteHost(scope.$index, scope.row, index)">删除</a></template></el-table-column></el-table></el-form-item><el-pagination@current-change="handlePageChange(item, $event)":current-page="item.currentPage":page-size="item.pageSize":total="item.total"></el-pagination></el-col></el-row>
</template><script>
export default {data() {return {appDeployForm: {detail: [{ hostForm: [], selectedHosts: [], currentPage: 1, pageSize: 10, total: 0 },{ hostForm: [], selectedHosts: [], currentPage: 1, pageSize: 10, total: 0 }]}};},methods: {handleSelectionChange(item, selectedRows) {item.selectedHosts = selectedRows;},deleteHost(index, row, tableIndex) {// 删除逻辑},handlePageChange(item, newPage) {item.currentPage = newPage;// 更新表格数据逻辑}}
};
</script>

总结

通过以上步骤,可以在 Vue 3 应用中实现分页功能,并确保在切换分页时选中的项能够保留,同时控制多个表格之间的选中状态不互相影响。这种设计提升了用户体验,使得操作更加直观和灵活。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1560335.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

关于相机的一些零碎知识点

热成像&#xff0c;英文为Thermal Imaging&#xff0c;例如型号500T&#xff0c;其实指的就是热成像500分辨率。 相机的CMOS&#xff0c;英文为Complementary Metal Oxide Semiconductor&#xff0c;是数码相机的核心成像部件&#xff0c;是一种互补金属氧化物导体器件。 DPI…

C9800的Flex配置

C9800的配置和AireOS WLC的配置架构有了很大的调整&#xff0c;在配置一个WLAN的时候&#xff0c;可能相对麻烦一些&#xff0c;但是架构还是比较清晰。 这里记录一下针对Flex的配置&#xff0c;主要分为如下几个摘要&#xff08;以及对应的CLI配置&#xff09;&#xff1a; 1…

Carsim 2023.2 安装及使用

在我看来Carsim 2023.2最大的优点在于&#xff1a; 完全不用担心修改了内部参数&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; Carsim 2023.2新增了database builder功能&#xff0c;使用者自己可以新建database&#xff0c;而且可以挑选自己所…

留学期间如何提高职业竞争力?

留学期间是提高职业竞争力的关键时期&#xff0c;以下是一些具体的建议&#xff0c;帮助留学生在留学期间增强自身的职业竞争力&#xff1a; 一、深化专业知识与技能 1. 专注于课程学习&#xff1a;努力学习专业课程&#xff0c;掌握扎实的专业知识&#xff0c;这是提高职业竞…

解决Vscode无法解析导入“xxxxx”Pylance的问题

问题&#xff1a; 在使用Vscode本地或ssh远程调试Python代码时&#xff0c;有时需要导入本地的其他模块&#xff0c;比如通过环境变量$PYTHONPATH指定的包路径&#xff0c;或者通过pip、conda、mim安装的pkg。 虽然程序可以正常运行&#xff0c;但Vscode会出现无法解析导入“x…

H264重点笔记记录

H264格式 目前视频中的H.264流行的NALU包装方式有两种&#xff0c;一种叫做annexB&#xff0c;一种叫做avcC。对于这两种格式&#xff0c;不同的厂商支持程度也不太一样&#xff0c;例如&#xff0c;Android硬解码MediaCodec只接受annexB格式的数据&#xff0c;而Apple的Video…

Linux-呈现数据

输入和输出 在脚本中重定向输出 在脚本中重定向输入 创建自己的重定向-创建输出文件描述符/重定向文件描述符 创建自己的重定向-创建输入文件描述符/创建读写文件描述符 创建自己的重定向-关闭文件描述符 列举打开的文件描述符 阻止命令输出 创建临时文件 记录消息

观诺奖感言:学好数理化,都被AI打趴下!

10月8日&#xff0c;瑞典皇家科学院宣布&#xff0c;将2024年诺贝尔物理学奖授予两位人工智能先驱——约翰霍普菲尔德&#xff08;John Hopfield&#xff09;和杰弗里辛顿&#xff08;Geoffrey Hinton&#xff09;。 在接到瑞典方打来的电话后&#xff0c;Hinton还在反复确认&a…

低功耗接地故障控制器D4145

一、概述 D4145 是一个接地故障断路器。它能够检测到不良的接地条件&#xff0c;譬如装置接触到水时&#xff0c;它会在有害或致命的电击发生之前将电路断开。 D4145能检测并保护从火线到地线,从零线到地线的故障.这种简单而传统的电路设计能够确保其应用自如和长时间的可靠性。…

鸿蒙开发之ArkUI 界面篇 二十八 ForEach

ForEach语法格式如下&#xff1a; ForEach(数组名字,(Item&#xff0c;index) >{item要做的事情}) 实现下图效果&#xff1a; 代码如下&#xff1a; Entry Component struct IndexTest {State titles:string[] [学鸿蒙,赢取白富美,走向人生巅峰,影音娱乐,海外旅游]build…

MES管理系统对中小企业有哪些帮助

MES管理系统解决方案对中小企业具有显著的帮助&#xff0c;主要体现在以下几个方面&#xff1a; 一、提升生产效率 MES管理系统能够实时监控生产过程&#xff0c;提供准确的生产数据和及时的反馈。这种实时监控与数据分析能力&#xff0c;使中小企业能够精准把握生产脉搏&…

机器学习、深度学习评价指标汇总:TP、TN、FP、FN、AP、mAP、IoU、mAP@3、Prec@10、 Acc@10

系列文章目录 文章目录 系列文章目录一、真正例&#xff08;True Positive&#xff09;、假正例&#xff08;False Positive&#xff09;、真负例&#xff08;True Negative&#xff09;和假负例&#xff08;False Negative&#xff09;是评估分类模型性能的重要概念。1. 定义2…

Excel中使用SQL语句的四种方法

总结在 Excel 中使用 SQL 语句的四种方法&#xff0c;各种方法都有各自的适用场景&#xff0c;可以选择自己熟悉的或喜欢方式。本文以在 Excel 中操作 MS SQL 数据库的数据为例进行说明。MS SQL 的数据如下&#xff0c;使用微软 SQLExpress 版本。 方法 1&#xff1a; Excel 现…

YOLOv10改进策略【损失函数篇】| 替换激活函数为Mish、PReLU、Hardswish、LeakyReLU、ReLU6

前言 在卷积神经网络中&#xff0c;激活函数通过在神经网络中引入非线性&#xff0c;使网络能够学习和逼近复杂函数&#xff0c;从而处理复杂的模式识别与分类问题。 文章目录 前言一、YOLOv11激活函数SiLU激活函数特性与其他激活函数的比较实现代码 二、替换激活函数&#xf…

上市四天暴涨又暴跌,扫描全能王背后公司坐上“过山车”

股价四天涨五倍&#xff0c;遇到回调跌一半&#xff0c;扫描全能王母公司——合合信息&#xff0c;一上市就坐上了“过山车”。 合合信息其实早在2021年就向科创板申请上市&#xff0c;并在2023年成功过会&#xff0c;但直到9月13日才开启申购&#xff0c;IPO之路一走就是三年…

ssm基于Javaee的影视创作论坛的设计与实现

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码请私聊我 需要定制请私聊 目 录 目 录 III 第1章 绪论 1 1.1选题动因 1 1.2目的和意义 1 1.3论文结构安排 2 第2章 开发环境与技术 …

minio集群部署

最近接触到minio&#xff0c; 将本地集群部署&#xff0c;分别在ubuntu、centos stream9上进行了搭建&#xff0c;目前看里面的小坑不小&#xff0c;记录以下教程&#xff0c;以备忘、以供他人借鉴。 #### 准备 1、因新版本的minio要求&#xff0c;集群部署必须使用挂载非 roo…

已经被这几种广告彻底逼疯……还好有救了

这个假期回家团聚&#xff0c;爸妈小心翼翼问我手机越来越难用了&#xff0c;让我帮忙看看是不是中病毒了&#xff0c;了解后才知道原来事情是这样的&#xff1a; 以前开屏广告不小心误触已经让人恼火&#xff0c;现在是手机轻微动一动就会进入广告&#xff0c;打开app最后都不…

探秘AIPC软件:云端和本地如何奏响混合乐章

AIPC软件的魅力 ©作者|chuiyuw 来源|神州问学 一、AI PC 的崛起之势 1. 传统 PC 受到 AI PC 挑战 AI PC 与传统 PC 相比&#xff0c;具有显著的不同。硬件方面&#xff0c;AI PC 在传统 PC 职能的基础上&#xff0c;集成了混合 AI 算力单元&#xff0c;通常配备高性能处…

《花100块做个摸鱼小网站! 》第七篇—谁访问了我们的网站?

⭐️基础链接导航⭐️ 服务器 → ☁️ 阿里云活动地址 看样例 → &#x1f41f; 摸鱼小网站地址 学代码 → &#x1f4bb; 源码库地址 一、前言 大家好呀&#xff0c;我是summo&#xff0c;最近发生了些事情(被裁员了&#xff0c;在找工作中)导致断更了&#xff0c;非常抱歉。…