周大胖子 发表于 2020-10-28 11:00:52

React antd表单 从报错到放弃

本帖最后由 周大胖子 于 2020-10-28 14:55 编辑

先交代下环境:
react / umi / antd   且 react 使用了createReactClass 的 写法

问题表像:
那天 我要使用antd 的表单,然后 我就去复制官网上的表单源码[最简单的那种,然后 我就凉了 ,对的就这么直接 ]
Warning: React does not recognize the `valuePropName` prop on a DOM element.
好了,先说问题表象:由于太TM乱了 我决定放弃他 好了 写点简单的 ,把我放弃的代码放这,坐等下次继续
//商标搜索的 表单
import React from 'react';
import ReactDOM from 'react-dom';

import { Form, Input, Button, Checkbox } from 'antd';

const layout = {
// 这是结构
labelCol: {
    span: 6,
},
wrapperCol: {
    span: 18,
},
};
const tailLayout = {
wrapperCol: {
    offset: 6,
    span: 18,
},
};

const Demo = () => {
const onFinish = (values) => {
    console.log('Success:', values);
};

const onFinishFailed = (errorInfo) => {
    console.log('Failed:', errorInfo);
};

return (
    <React.Fragment>
    <div>
    <Form
      {...layout}
      name="basic"
      // initialValues={{
      //   remember: true,
      // }}
      // onFinish={onFinish}
      // onFinishFailed={onFinishFailed}
    >

      {/* 外围 form 表单直接报错 */}
      {/* React does not recognize the `initialValues` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `initialvalues` instead. If you accidentally passed it from a parent component, remove it from the DOM element. */}
      {/* 问题本质: react 关于在标签中 自定义属性[驼峰命名 且] 不被系统接受的问题 */}
      

      {/* 如果不要Form标签里面的自定义属性,不报错,但是下面报错:Cannot read property 'call' of undefined */}
      <Form.Item
      label="Username"
      name="username"
      rules={[
          {
            required: true,
            message: 'Please input your username!',
          },
      ]}
      >
      <Input />
      </Form.Item>

      <Form.Item
      label="Password"
      name="password"
      rules={[
          {
            required: true,
            message: 'Please input your password!',
          },
      ]}
      >
      <Input.Password />
      </Form.Item>

      {/* 这一段加上,就会弹出警告React does not recognize the `valuePropName` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `valuepropname` instead. If you accidentally passed it from a parent component, remove it from the DOM element. */}
      {/* 意思是 valuePropName 没有被识别 */}
      {/* <Form.Item {...tailLayout} name="remember" valuePropName="checked">
      <Checkbox>Remember me</Checkbox>
      </Form.Item> */}

      <Form.Item {...tailLayout}>
      <Button type="primary" htmlType="submit">
          Submit
      </Button>
      </Form.Item>



    </Form>
    </div>
    </React.Fragment>
);
};

// ReactDOM.render(<Demo />, mountNode);
export default Demo;// 这是新闻的详情页
import React from 'react';
import "../../assets/style/laomo.css";
import createReactClass from 'create-react-class';
import ReactDOM from 'react-dom';

import Demo from './form';

import { Row, Col, Divider } from 'antd';
// const DemoBox = props => <p className={`height-${props.value}`}>{props.children}</p>;
// import { Form, Input, Button, Select ,Checkbox} from 'antd';


// const Search = createReactClass({

//   render(){

//         return (
//             <section className="search-section">
//                  这是商标查询页
//                  <div className="search-box ">
//                        
//                         <div id="sm"></div>
//                         {/* <Demo /> */}
//                  </div>
//             </section>
//         );
//   }

// });
// ReactDOM.render(<Demo />, document.getElementById("sm"));

// ReactDOM.render(<Demo />, document.getElementById("sm"));
// export default Search;


class Search extends React.Component{
      render(){

            return (
                <section className="search-section">
                  <div className="search-box ">
                        <Row justify="center" align="top" className="search-banner">
                            <Col span={4}>
                            </Col>
                            <Col span={16} className="search-banner-form">
                              <Demo></Demo>
                            </Col>
                            <Col span={4}>
                            </Col>
                        </Row>
                     
                     
                  </div>
                </section>
            );
      }
}

export default Search;




页: [1]
查看完整版本: React antd表单 从报错到放弃