react+antd-ui框架获取文本框中的动态值

组件

为什么我的编辑框Editcoding key 取不到值 是undfined而 Available框却可以 代码是一样的
不修改原有的定义
 const EditcondValues = useMemo(() => ({}), []);
 const AvailableValues = useMemo(() => ({}), []);
 const columnthree=[
        
        {
          title: '可用条件',
          dataIndex: 'Available',
          key: 'Available',
          render: (_, record) => (
            <AvailableInput initialValue={AvailableValues[record.key]} onChange={(value) => AvailableChange(record.key, value)} />
          ),
        },
        {
          title: '编辑条件',
          dataIndex: 'Editcoding',
          key: 'Editcoding',
          render: (_, record) => (
            <EditcondInput initialValue={EditcondValues[record.key]} onChange={(value) => EditcondChange(record.key, value)} />
          ),
        },
        ]
        
        
    
    const AvailableChange = (key, value) => {
      AvailableValues[key] = value;
    };
    
  const EditcondChange = (key, value) => {
      debugger
      EditcondValues[key] = value;  
    };

渲染
 <Table
                dataSource={Columnthree}
                columns={columnthree}
                />

选择框

img


编辑框

img

你传 record试试,别传 record.key 然后打印一下 record 不过按道理 应该没啥问题才对。我看代码没看出问题

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7478777
  • 这篇博客也不错, 你可以看下react+antd 动态增删表单 再解决
  • 除此之外, 这篇博客: React中的 antd-ui 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • ## 十四、antd的按需引入+自定主题
    1.安装依赖:yarn add react-app-rewired customize-cra babel-plugin-import less less-loader
    2.修改package.json
    		....
    			"scripts": {
    				"start": "react-app-rewired start",
    				"build": "react-app-rewired build",
    				"test": "react-app-rewired test",
    				"eject": "react-scripts eject"
    			},
    		....
    3.根目录下创建config-overrides.js
    		//配置具体的修改规则
    		const { override, fixBabelImports,addLessLoader} = require('customize-cra');
    		module.exports = override(
    			fixBabelImports('import', {
    				libraryName: 'antd',
    				libraryDirectory: 'es',
    				style: true,
    			}),
    			addLessLoader({
    				lessOptions:{
    					javascriptEnabled: true,
    					modifyVars: { '@primary-color': 'green' },
    				}
    			}),
    		);
    	4.备注:不用在组件里亲自引入样式了,即:import 'antd/dist/antd.css'应该删掉
    
  • 您还可以看一下 搬砖的乔布梭老师的React基础极简入门课程中的 React实战后台管理14:antd组件Button二次封装小节, 巩固相关知识点