日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

react+antd實現動態編輯表格數據_React

作者:追逐驀然 ? 更新時間: 2022-10-19 編程語言

本文實例為大家分享了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

總結

這篇博文就簡單的分享到這里,這里只是一個基礎。學會了這個還可以根據這個屬性造很多自己的輪子。

原文鏈接:https://blog.csdn.net/qq_35905501/article/details/120343985

欄目分類
最近更新