我的编程空间,编程开发者的网络收藏夹
学习永远不晚

react+antd实现动态编辑表格数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

react+antd实现动态编辑表格数据

本文实例为大家分享了react+antd动态编辑表格数据的具体代码,供大家参考,具体内容如下

在项目中,我们会遇到一种需求,为用户提供一份表格去编辑,而且表格中各个单元格是相关影响的,因此在一个单元格中编辑过会影响另外一个单元格。

小需求

在一个表格中:

1.有两行数据,一行是数据1,一行是数据2;
2.而且只能数据1的单元格可以进行编辑;
3.只能输入数字,要是输入其他的,则显示编辑之前的数值
4. 当数据1的那行数据发生改变的时候,数据2对应的单元格的数据也会自动加1

例子图片

示例代码

import React, { useState } from 'react';
import {Table, Typography, message} from 'antd'
const { Paragraph } = Typography;
function Index(props){

  // 判断是否时数字
  function isNumber(val){
      var regPos = /^\d+(\.\d+)?$/; //非负浮点数
      var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
      if(regPos.test(val) || regNeg.test(val)){
          return true;
      }else{
          return false;
      }
  }
  // 表格数据源
  const [ data , setData ] = useState([
    {
      'num1':1
    },
    {
      'num1':2
    },
    {
      'num1':3
    },
    {
      'num1':4
    },
    {
      'num1':5
    }
  ])
  // 定义表头
  const columns = [
    {
      title: '数据1',
      dataIndex: 'num1',
      key: 'num1',
      render: (text, record, index) => (
          <Paragraph editable={{onChange:(value)=>{
            let date = 0
            // 这里是:只能输入数字,要是输入其他的值,则提示并且显示编辑之前的值
            if(isNumber(value)){
                date = value
            }else{
                if(value != ''){
                    message.warn('只能输入数字')
                }
                date = data[index]['num1']
            }
            // 处理表格中的值,使得动态更新表格中的值
            let obj = [...data]
            setData([])
            obj[index]['num1'] = parseInt(date)
            setData(obj)
          }}} value={text}>{text}</Paragraph>
      ),
    },
    {
      title: '数据2',
      dataIndex: 'num2',
      key: 'num2',
      render: (text, record, index) => (
          <span>{record['num1'] + 1}</span>
      ),
    },
  ]


  return (
    <div>
        <Table dataSource={data} columns={columns} />
    </div>
  )

}

export default Index

总结

这篇博文就简单的分享到这里,这里只是一个基础。学会了这个还可以根据这个属性造很多自己的轮子。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

react+antd实现动态编辑表格数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python+PyQt如何实现数据库表格动态增删改

小编给大家分享一下Python+PyQt如何实现数据库表格动态增删改,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!题目描述本次实验为连接数据库的实验,并对数据库进行一些简单的操作,要实现的基本功能如下所示,要能连接并展现数
2023-06-29

Vue3实现动态导入Excel表格数据的方法详解

在开发工作过程中,我们会遇到各种各样的表格数据导入,动态数据导入可以减少人为操作,减少出错。本文为大家介绍了Vue3实现动态导入Excel表格数据的方法,需要的可以参考一下
2022-11-16

HTML表格标签与JavaScript交互:实现动态数据展示效果

HTML表格标签与JavaScript交互,是一种常用的动态数据展示方法。通过操作表格DOM结构,JavaScript可以轻松地实现数据表的增、删、改、查操作,以及表格样式的修改等,从而让表格变得更加灵活和美观。
HTML表格标签与JavaScript交互:实现动态数据展示效果
2024-02-11

大数据中如何实现动态列报表

大数据中如何实现动态列报表,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一般有两种实现方式:1. 通过报表工具来做如下图这样的,浏览时候选择不同的指标,就可以展现不同的列具体做
2023-06-03

jQuery怎么实现表格行数据滚动效果

这篇文章主要讲解了“jQuery怎么实现表格行数据滚动效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jQuery怎么实现表格行数据滚动效果”吧!HTML代码:
2023-06-20

如何实现报表数据的动态层次钻取(一)

在报表项目中有时会遇到进行动态层次钻取的需求,这种报表的开发难度一般都较大。而润乾报表的实现则相对简便很多。下面就以《各级部门 KPI 报表》为例,讲解润乾报表(需要结合集算器实现)实现此类报表的过程。《各级部门 KPI 报表》初始状态如下
2023-06-02

如何实现报表数据的动态层次钻取(二)

《如何实现报表数据的动态层次钻取(一)》介绍了利用复杂 sql 实现动态层次结构的方法,但该方法依赖 Oracle 的递归语法,在其他类型的数据库中难以实现。要想通用地实现此类报表,可以使用下面介绍的“集算脚本 + 本地文件”的方法。《各级
2023-06-02

react中useState使用:如何实现在当前表格直接更改数据

这篇文章主要介绍了react中useState的使用:如何实现在当前表格直接更改数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

vue怎么实现动态列表尾部添加数据执行动画

这篇文章主要介绍“vue怎么实现动态列表尾部添加数据执行动画”,在日常操作中,相信很多人在vue怎么实现动态列表尾部添加数据执行动画问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue怎么实现动态列表尾部添加
2023-06-29

使用JavaScript实现构建一个动态数据可视化仪表板

构建一个动态数据可视化仪表板,需要选择合适的框架(如D3.js、Chartist.js、ApexCharts),获取、处理数据,选择合适的图表类型(如折线图、柱状图、饼状图)。仪表板应具备交互功能(缩放、拖放、工具提示、筛选),以及响应式设计和可定制的主题。部署仪表板并持续监视其性能,根据新数据或用户反馈定期更新和增强。
使用JavaScript实现构建一个动态数据可视化仪表板
2024-04-02

编程热搜

目录