当前位置: 首页 > news >正文

React AntDesign表批量操作时的selectedRowKeys回显选中

不知道大家是不是在AntDesign的某一个列表想要做一个批量导出或者操作的时候,发现只要选择下一页,即使选中的ids 都有记录下面,但是就是不回显
在这里插入图片描述
后来问了chatGPT,对方的回答是:
在Ant Design的DataTable组件中,当进行分页操作时,会重新渲染表格内容,这会导致之前选中的行数据和选中状态丢失。

于是最后想到了一个办法处理,通过onTableChange时间来控制
代码如下:

private onTableChange = (newSelectedRowKeys: string[]) => {console.log(newSelectedRowKeys);const { selectedRowKeys } = this.state;setTimeout(() => {this.dispatch(actions.tableRowSelectionChangeAction(this.tableId,map(selectedRowKeys, (value) => {return value;})));}, 300);
};private onTableRowSelectAll = (selected: boolean,selectedRows: any[],unSelectedRows: any[]
) => {const { selectedRowKeys } = this.state;if (selected) {const addRows = selectedRows.filter((item: any) => {return !selectedRowKeys.includes(item.id);});const addRowsRowIds = map(addRows, 'id');this.setState({ selectedRowKeys: [...selectedRowKeys, ...addRowsRowIds] });} else {const deleteIds: any = map(unSelectedRows, 'id');const deleteRows = selectedRowKeys.filter((item: any) => {return !deleteIds.includes(item);});this.setState({ selectedRowKeys: [...deleteRows] });}
};private onTableSelect = (record: any, selected: boolean) => {const { selectedRowKeys } = this.state;if (selected) {this.setState({selectedRowKeys: [...selectedRowKeys, record.id],});} else {this.setState({selectedRowKeys: selectedRowKeys.filter((key) => key !== record.id),});}
};

使用onTableChange 因为它是几个方法中最后一个执行的方法,也是必触发的方法,然后通过dispatch,对表的selectedRowKeys重新处理

this.dispatch(actions.tableRowSelectionChangeAction(this.tableId,map(selectedRowKeys, (value) => {return value;})));

如果对大家有帮助,留下个小爱心吧😄

相关文章:

React AntDesign表批量操作时的selectedRowKeys回显选中

不知道大家是不是在AntDesign的某一个列表想要做一个批量导出或者操作的时候,发现只要选择下一页,即使选中的ids 都有记录下面,但是就是不回显 后来问了chatGPT,对方的回答是: 在Ant Design的DataTable组件中&#xf…...

anydesk远程控制,主动连接。

目标 远程控制目标电脑,且无需对方同意,并且可以控制目标电脑开关机。 实现 目标电脑和己方电脑均安装anydesk。目标电脑取消开机密码。打开目标电脑的anydesk在设置安全设置中打开为自主访问设置密码。 额外设置 为了让笔记本电脑合盖后仍能被控制…...

Spring Data Redis操作Redis

在Spring Boot项目中&#xff0c;可以使用Spring Data Redis来简化Redis操作&#xff0c;maven的依赖坐标&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></…...

sqlite触发器1

SQLite 的触发器&#xff08;Trigger&#xff09;可以指定在特定的数据库表发生 DELETE、INSERT 或 UPDATE 时触发&#xff0c;或在一个或多个指定表的列发生更新时触发。 SQLite 只支持 FOR EACH ROW 触发器&#xff08;Trigger&#xff09;&#xff0c;没有 FOR EACH STATEM…...

python中——requests爬虫【中文乱码】的3种解决方法

requests是一个较为简单易用的HTTP请求库&#xff0c;是python中编写爬虫程序最基础常用的一个库。 而【中文乱码】问题&#xff0c;是最常遇到的问题&#xff0c;对于初学者来说&#xff0c;是很困恼的。 本文将详细说明&#xff0c;python中使用requests库编写爬虫程序时&…...

E. Nastya and Potions(DFS+记忆化搜索)

炼金术士纳斯蒂亚喜欢混合药剂。一共有n种药剂&#xff0c;ci硬币可以买到一种 i 型药剂。 任何一种药剂都只能通过一种方式获得&#xff0c;即混合其他几种药剂。混合过程中使用的药剂将被消耗掉。此外&#xff0c;任何药剂都不能通过一个或多个混合过程从自身获得。 作为一名…...

什么是tcp rst以及什么时候产生?

rst包是仅在header control bits设置rst的空payload包&#xff0c;用于强制关闭tcp连接。常在以下场景发送 远程主机没有监听该端口 远程主机强迫关闭了一个现有连接。比如服务端进程崩溃后重启会向之前连接发送rst 相比于四次挥手的fin&#xff0c;rst是在异常情况下的无条…...

Visual Studio Code配置免密远程开发环境

VSCode安装插件 要是想连接远程服务器&#xff0c;先在本地安装下面的插件&#xff08;红色圈起来的需要装&#xff09; 连接远程服务器 配置服务器信息 保存然后再连接&#xff0c;输入密码&#xff0c;如果能连接上说明是没问题的&#xff0c;下面开始免密登录 免密配置 客…...

flutter android Webview 打开网页错误ERR_CLEARTEXT_NOT_PERMITTED 、 net:ERR_CACHE_MISS

当你在Flutter应用中尝试打开一个非安全连接的网页&#xff08;例如HTTP连接而不是HTTPS连接&#xff09;时&#xff0c;可能会遇到"ERR_CLEARTEXT_NOT_PERMITTED"错误。这是因为默认情况下&#xff0c;Android 9及更高版本禁止应用程序通过非安全的明文HTTP连接进行…...

ARP协议(地址解析协议)

文章目录 ARP协议&#xff08;地址解析协议&#xff09;MAC地址ARP协议ARP具体实现同一链路不同链路 ARP 缓存缓存查询 APR请求/响应报文 ARP协议&#xff08;地址解析协议&#xff09; MAC地址 MAC 地址的全称是 Media Access Control Address&#xff0c;即媒体访问控制地址…...

【贪心算法】334. 递增的三元子序列

334. 递增的三元子序列 解题思路 找到的递增序列 不一定是连续的固定第一个数first 然后开始向后找第二个数second要求second 大于 first 找到之后 向后找第三个数third 找到 返回true如果third < first 那么更新first third 重新找如果只是third > first 更新second …...

react实现路由跳转动画

下载插件 npm i react-transition-group 配置路由 import { createBrowserRouter as ReactRouter,Navigate } from "react-router-dom";import App from ../App.js import Login from "../view/login.js"; import Home from "../home.js"; co…...

(二)RabbitMQ【安装Erlang、安装RabbitMQ 、账户管理、管控台、Docker安装 】

Lison <dreamlison163.com>, v1.0.0, 2023.06.22 RabbitMQ【安装Erlang、安装RabbitMQ 、账户管理、管控台、Docker安装 】 文章目录 RabbitMQ【安装Erlang、安装RabbitMQ 、账户管理、管控台、Docker安装 】**安装Erlang**安装RabbitMQ账户管理管控台Docker安装RabbitM…...

springboot mybatis-plus 多数据源配置(HikariCP)

1.导入依赖jar <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.postgresql</groupId><artifactId>postgres…...

跃焱邵隼网站demo

xdm 网站的代码开源了。 今年迷上摄影和剪辑了&#xff0c;所以很少投入到网站的维护。 然后经过群友的一些反馈&#xff0c;所以决定 将网站上demo开源放出来了。 后面有机会再出一些好玩的东西。 哦 对了 3d 编辑器我已经融入地图了 年底搞一些好玩的东西出来。 可以关注…...

3. Spring 更简单的读取和存储对象(五大类注解 方法注解)

目录 1. 存储 Bean 对象 1.1 配置扫描路径 1.2 添加注解存储 Bean 对象 1.2.1 Controller&#xff08;控制器存储&#xff09; 1.2.2 Service&#xff08;服务存储&#xff09; 1.2.3 Repository&#xff08;仓库存储&#xff09; 1.2.4 Component&#xff08;组件存储&…...

TypeScript基础篇 - 泛型

目录 泛型的概念 接口是对方面的描述&#xff08;Aspect&#xff09;&#xff0c;继承其中几个方法。重定义方法 泛型是对共性的提取 泛型&#xff08;Generics&#xff09; 泛型的例子 泛型类 推荐写法 泛型约束 keyof操作符 泛型的特化&#xff08;实例化&#xff…...

C++ 常量

常量是固定值&#xff0c;在程序执行期间不会改变。这些固定的值&#xff0c;又叫做字面量。 常量可以是任何的基本数据类型&#xff0c;可分为整型数字、浮点数字、字符、字符串和布尔值。 常量就像是常规的变量&#xff0c;只不过常量的值在定义后不能进行修改。 整数常量…...

智安网络|实现数据安全:探索数据动态脱敏的落地策略

在当今数字化时代&#xff0c;数据安全成为企业和组织管理中的头等大事。然而&#xff0c;数据共享和数据大规模处理的需求也日益增长&#xff0c;这就需要在数据传输和存储过程中采取措施来保护用户的隐私。数据动态脱敏技术应运而生&#xff0c;为解决数据隐私和保护的问题提…...

全加器(多位)的实现

一&#xff0c;半加器 定义 半加器&#xff08;Half Adder&#xff09;是一种用于执行二进制数相加的简单逻辑电路。它可以将两个输入位的和&#xff08;Sum&#xff09;和进位&#xff08;Carry&#xff09;计算出来。 半加器有两个输入&#xff1a;A 和 B&#xff0c;分别代表…...

sveltekit-superforms 终极指南:如何在 SvelteKit 中构建完美表单体验

sveltekit-superforms 终极指南&#xff1a;如何在 SvelteKit 中构建完美表单体验 【免费下载链接】sveltekit-superforms Making SvelteKit forms a pleasure to use! 项目地址: https://gitcode.com/gh_mirrors/sv/sveltekit-superforms 想要在 SvelteKit 应用中快速构…...

CAN总线终端电阻原理与工程实践详解

1. CAN总线终端电阻的核心作用解析在工业控制和汽车电子领域&#xff0c;CAN总线是最常用的现场总线之一。作为从业十余年的嵌入式工程师&#xff0c;我处理过无数CAN总线异常案例&#xff0c;其中约30%的通信故障都与终端电阻配置不当有关。120Ω这个看似简单的参数&#xff0…...

CIC-IDS2017数据集下机器学习算法性能深度评测与优化策略

1. CIC-IDS2017数据集与机器学习算法评测背景 如果你正在研究网络安全领域的异常检测&#xff0c;CIC-IDS2017数据集绝对是个绕不开的经典基准。这个由加拿大网络安全研究所公开的数据集&#xff0c;包含了基于真实网络环境生成的多种攻击流量&#xff08;如DDoS、暴力破解、渗…...

中小卖家最怕买“大而全”,真正需要的是“刚刚好”的自动化方案

很多中小卖家一听到“AI自动化”“全链路智能体”这些词&#xff0c; 心里会先紧张一下。 不是不感兴趣&#xff0c; 而是怕另一个问题&#xff1a; 看起来很强&#xff0c;但太大了&#xff1b; 功能很多&#xff0c;但太重了&#xff1b; 概念很全&#xff0c;但不一定适合自…...

空洞骑士模组管理新体验:Scarab让模组安装变得简单高效

空洞骑士模组管理新体验&#xff1a;Scarab让模组安装变得简单高效 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 你是否曾经因为空洞骑士模组安装的复杂性而感到困扰&#x…...

Flutter 自定义 Widget:打造独特的用户界面

Flutter 自定义 Widget&#xff1a;打造独特的用户界面突破内置组件的局限&#xff0c;创造属于你自己的 UI 组件。一、自定义 Widget 的意义 作为一名追求像素级还原的 UI 匠人&#xff0c;我深知内置组件的局限。有时候&#xff0c;设计稿上的那个特殊按钮&#xff0c;那个独…...

Block Diffusion【202503】:在自回归与扩散语言模型之间插值【Interpolating Between Autoregressive and Diffusion LM】

块扩散:在自回归与扩散语言模型之间插值 Marianne Arriola† ∗ Aaron Kerem Gokaslan† Justin T. Chiu‡ Zhihan Yang† Zhixuan Qi† Jiaqi Han Subham Sekhar Sahoo† Volodymyr Kuleshov† 摘要 扩散语言模型因其并行生成和可控性的潜力,相比自回归模型具有独特…...

Linux 的 ls 命令

Linux 的 ls 命令是最基础且常用的文件管理命令之一&#xff0c;用于列出目录中的文件和子目录。作为Unix/Linux系统中最古老且最核心的命令之一&#xff0c;ls 最早出现在1971年的Unix系统中。下面是该命令的详细说明&#xff1a; 基本语法 ls [选项] [文件/目录]如果不指定…...

倒排索引详解

文章目录倒排索引&#xff08;Inverted Index&#xff09;正排索引与倒排索引实现优缺点倒排索引&#xff08;Inverted Index&#xff09; 倒排索引是信息检索领域最核心的数据结构&#xff0c;几乎所有搜索引擎&#xff08;Google、Elasticsearch、Lucene&#xff09;都基于它…...

告别网络延迟!AutoGLM-Phone-9B本地化部署实战,手机也能流畅对话AI

告别网络延迟&#xff01;AutoGLM-Phone-9B本地化部署实战&#xff0c;手机也能流畅对话AI 1. AutoGLM-Phone-9B简介与核心优势 1.1 专为移动端设计的轻量级大模型 AutoGLM-Phone-9B是一款革命性的多模态大语言模型&#xff0c;专为移动设备和边缘计算场景优化。与传统的云端…...