首页 > 其他分享 >react antd的Table中,如何动态的改变表格数据

react antd的Table中,如何动态的改变表格数据

时间:2024-02-03 09:55:43浏览次数:25  
标签:name 数据源 age address react key antd Table

在React Antd中,如果您改变了Table组件的数据源(dataSource),Table会自动重新渲染以反映新的数据。因此,只要您在状态或props中正确更新数据源,Table就会自动更新。

以下是一个示例代码片段,展示如何使用React状态(state)和按钮来更改数据源并更新Table组件:

import React, { useState } from 'react';
import { Table, Button } from 'antd';

const DynamicTable = () => {
  const [data, setData] = useState([
    {
      key: '1',
      name: 'John Brown',
      age: 32,
      address: 'New York No. 1 Lake Park'
    },
    {
      key: '2',
      name: 'Jim Green',
      age: 42,
      address: 'London No. 1 Lake Park'
    },
    {
      key: '3',
      name: 'Joe Black',
      age: 32,
      address: 'Sidney No. 1 Lake Park'
    }
  ]);

  // 更改数据源
  const changeData = () => {
    const newData = [
      {
        key: '4',
        name: 'Tom White',
        age: 25,
        address: 'Paris No. 1 Lake Park'
      },
      {
        key: '5',
        name: 'Jerry Red',
        age: 30,
        address: 'Berlin No. 1 Lake Park'
      }
    ];
    setData(newData);
  };

  const columns = [
    {
      title: 'Name',
      dataIndex: 'name',
      key: 'name'
    },
    {
      title: 'Age',
      dataIndex: 'age',
      key: 'age'
    },
    {
      title: 'Address',
      dataIndex: 'address',
      key: 'address'
    }
  ];

  return (
    <div>
      <Button onClick={changeData}>Change Data</Button>
      <Table dataSource={data} columns={columns} />
    </div>
  );
};

export default DynamicTable;

  

在上述示例中,我们使用useState钩子创建一个名为data的状态变量,用于存储表格数据。通过点击"Change Data"按钮,调用changeData函数来更新数据源。changeData函数会生成一个新的数据源数组,并将其设置为新的data状态。然后,将data作为dataSource传递给Antd的Table组件,以显示更新后的数据。

请注意,

1、Table组件会自动检测数据源的变化,并重新渲染以反映新的数据。因此,只要您在状态或props中正确更新数据源,Table就会自动更新。

2、这里要非常注意的是,在设置新的数据源时,新的数据源,一定要和旧的数据源时不用的对象

备注:可以采用lodash来拷贝对象

import _ from "lodash";
let newData = _.cloneDeep(data);

  

参考:chatGpt

标签:name,数据源,age,address,react,key,antd,Table
From: https://www.cnblogs.com/wwssgg/p/18004368

相关文章

  • 从iptables过渡到nftables
    精彩文章免费看立即下载从iptables迁移到nftablescloudFans简书作者2022-06-1610:12IP属地:吉林基于iptables-save为文件,然后导入即可%iptables-save>iptables.txt%iptables-nft-restore<iptables.txt%iptables-nft-save#Generated......
  • selenium出现“element not interactable”问题总结
    “elementnotinteractable”问题根因:元素不可交互,可能的原因及解决方法如下所示:1、检查元素的定位(XPATH、CSS_SELECTOR内的内容)是否写正确2、代码中元素进行获取的时候查看是否已经加载出来,等待元素加载可以使用显式等待element= WebDriverWait(browser,20,0.5).until(EC.p......
  • vue中的响应式和react中的响应式一样吗?
    Vue.js和React在实现响应式原理上有所不同:Vue.js的响应式机制:依赖收集(DependentDataCollection):Vue使用了基于getter/setter的Object.defineProperty()方法,对数据对象的属性进行拦截。当一个组件渲染时,Vue能够跟踪到模板中哪些数据被访问(getter),并记录下它们之间的......
  • react 点击按钮 div隐藏显示 添加展开收起动画效果
    js代码const[collapse,setCollapse]=useState(false)  const[showBack,setShowBack]=useState(false)  constchangeCollapse=()=>{//获取展开收起目标元素    constheaderDes=document.querySelector('.phone_header_des');  ......
  • sql server执行dbcc修复,提示:(类型为 In-row data)的对象 "hr_bd_BusTables",计数 In-ro
    问题:数据库执行DBCCCHECKDBwithNO_INFOMSGS检查提示:计数In-rowdataUSEDpage不正确。请运行DBCCUPDATEUSAGE。DBCCCHECKDBwithNO_INFOMSGS;消息2508,级别16,状态1,第1行对于索引ID为1、分区ID为311221045166080、分配单元ID为311221045166080(类型......
  • react antd 组件取值的方法
    在React中使用AntDesign(antd)组件,可以通过不同的方式获取组件的值,具体取决于所使用的AntDesign组件和其相关的API。一般来说,大部分AntDesign组件都有value属性或onChange事件,可用于获取或监听组件的值。以下是几个常见的AntDesign组件的取值方法示例:1、Input输入框组件:......
  • 10000+AI绘画关键词-涵盖Mid和StableDiffusion
    下载地址:https://pan.quark.cn/s/90634ffdf31910000+AI绘画关键词-涵盖Mid和StableDiffusion......
  • MIT 6.1810 Lab: page tables
    lab网址:https://pdos.csail.mit.edu/6.828/2022/labs/pgtbl.htmlxv6Book:https://pdos.csail.mit.edu/6.828/2022/xv6/book-riscv-rev3.pdfBooklearningXv6使用Sv39RISC-V标准,即使用39位的虚拟地址。前27位作为页表项索引,后12位作为页内偏移。页表项记录一个44位的实页号......
  • react-native中memo、useMemo、useCallback 你真的用明白了吗
    memo的作用在React的渲染流程中,一般来说,父组件的某个状态发生改变,那么父组件会重新渲染,父组件所使用的所有子组件,都会强制渲染。而在某些场景中,子组件并没有使用父组件传入的没有发生更改的状态时,子组件重新渲染是没有必要的。因此有了React.memomemo的使用memo是个高阶......
  • @Repeatable(ComponentScans.class)
    @Repeatable 是 Java 8 引入的一个元注解,用于标注某个注解可以在同一个声明上多次使用。@Repeatable 注解的值是一个容器注解,该容器注解内部定义了一个注解数组,用于存放多次使用的注解。@Repeatable 是 Java 8 引入的一个元注解,它允许同一个注解在同一声明上被多次使用。......