antd表格的onChange事件中,selectedRowKeys为什么不是数字数组?
创始人
2024-11-07 10:00:35
0

在antd的表格组件中,当用户选中行或取消选中行时,onChange事件会触发并返回当前所选中的行的key。selectedRowKeys属性是一个存储所有选中行key的数组。然而,有时候在事件回调函数中,selectedRowKeys却不是一个数字数组,这通常是由于在当前表格中使用了rowSelection的mode属性为'checkbox'或'multiple'时,造成的。具体解决方案如下:

如果需要在onChange事件中获取所选中行的key数组,则需要手动处理selectedRowKeys属性的值,以确保其为数字数组。可以使用Array.from()或者map()方法将值转换为数字类型。示例代码如下:

const onTableChange = (pagination, filters, sorter, extra) => {
  const { currentDataSource } = extra;
  const { selectedRowKeys } = extra;
  
  // 如果selectedRowKeys不是数字数组,则需要手动处理
  const keys = Array.from(selectedRowKeys).map(Number);
  // 或者使用map方法
  // const keys = selectedRowKeys.map(item => Number(item));
  
  console.log('selectedRowKeys:', keys);
}

在表格组件中,需要设置rowSelection的onChange属性为onTableChange,这样在选中行或取消选中行时就会触发回调函数,并传递当前所选中行的key数组作为参数。示例代码如下:

import { Table } from 'antd';

function Demo() {
  const dataSource = [
    ...
  ];
  
  const [selectedRowKeys, setSelectedRowKeys] = useState([]);
  
  const onTableChange = (pagination, filters, sorter, extra) => {
    const { currentDataSource } = extra;
    const { selectedRowKeys } = extra;
    
    // 如果selectedRowKeys不是数字数组,则需要手动处理
    const keys = Array.from(selectedRowKeys).map(Number);
    // 或者使用map方法
    // const keys = selectedRowKeys.map(item => Number(item));
    
    console.log('selectedRowKeys:', keys);
    
    setSelectedRowKeys(keys);
  }
  
  const rowSelection = {
    selectedRowKeys,
    onChange: onTableChange,
    // 注意:mode属性必须为'checkbox'或'multiple'
    mode: 'checkbox'
  };
  
  return (
    
      ...
    
); }

相关内容

热门资讯

了解透视!pokemomo辅助... 了解透视!pokemomo辅助软件,微乐河南家乡麻将辅助脚本,策略教程(有挂猫腻)-哔哩哔哩1、po...
普及透视!wepoker-h5... 普及透视!wepoker-h5下载,微乐如何自己建脚本,举措教程(有挂存在)-哔哩哔哩1、wepok...
揭露透视!epoker底牌透视... 揭露透视!epoker底牌透视,微乐辅助靠谱麻,资料教程(有挂透明挂)-哔哩哔哩1、玩家可以在epo...
总结透视!wepoker免费脚... 总结透视!wepoker免费脚本咨询,微乐自建房脚本如何下载,资料教程(有挂攻略)-哔哩哔哩1.we...
揭露透视!哈糖大菠萝可以开挂吗... 揭露透视!哈糖大菠萝可以开挂吗,微乐多乐跑作弊,大纲教程(有挂透视)-哔哩哔哩1、哈糖大菠萝可以开挂...
关于透视!wpk模拟器,微乐小... 关于透视!wpk模拟器,微乐小程序自建房透视,绝活儿教程(真实有挂)-哔哩哔哩暗藏猫腻,小编详细说明...
详情透视!wepoker私人局... 详情透视!wepoker私人局透视,微乐兰州麻将小程序辅助,讲义教程(有挂方略)-哔哩哔哩详情透视!...
解谜透视!来玩app破解,微乐... 解谜透视!来玩app破解,微乐小程序微乐家乡辅助器,阶段教程(真实有挂)-哔哩哔哩1、这是跨平台的来...
解密透视!pokemmo辅助器... 解密透视!pokemmo辅助器脚本下载,微信小程序微乐破解器2024,总结教程(有挂透视)-哔哩哔哩...
总结透视!wepokerplu... 总结透视!wepokerplus开挂,陕西微乐挖坑控制器,大纲教程(确实有挂)-哔哩哔哩1、这是跨平...