代码编织梦想

ant design 4 表单使用

官网ant design
1、写法。

// 引入组件
import {  Form ,Button} from 'antd';
class YourComponent extends React.Component {
    constructor(props){
        super(props);
        // 在这里创建表单的引用,v3版本通过connet包装后自动带有form属性,
        // 但是v4版本已经不适用,改成了formRef实例方法来获得表单实例.
        this.formRef = React.createRef();
        this.state = {
             userInfo:{
                userName:'张三',
                password:'123456'
             }
        }
    }

    // 通过校验后,提交
    onFinish=(values)=>{
         console.log(values);
         // do something....
    }
    render(){
    let { userInfo } = this.state;
       return (
         <Form
			onFinish={this.onFinish}
			ref={this.formRef}
			initialValues={{
				...userInfo
			}}>
				<Form.Item
					name="userName"
					label="用户名:"
					rules={[
						{ required: true, message: '用户名不能为空' },
						{ max: 20, message: '请输入20字内的用户名' }]}>
					<Input placeholder="请输入用户名"/>
				</Form.Item>
				<Form.Item 
				     name="password" 
				     label="密码:" 
				     rules= {[{required:true,message:'密码不为空'}]}>
                    <Input placeholder='请输入密码'>
                </Form.Item>
                <Form.Item>
					<Button type="primary" htmlType="submit" size="large">
						确认
				    </Button>
				</Form.Item>  
		</Form>		
     )
    }
}

2、initialValues:表单默认值,是一个对象,只有初始化和重置时有效,该对象的字段要和<Form.Item>里面的name属性相同。如图所示:
在这里插入图片描述
在这里插入图片描述
3、经常会有这样的需求(比如点击一个详情页,希望可以回填服务器请求回来的信息),会发现initialValues不生效。解决方法如下:

this.formRef.current.setFieldsValue({
	...res.data// 这里是服务器返回的信息
})

重新set过之后,就可以渲染上去了~~~

4、对特殊字段做校验(比如要判断用户名的校验):

this.formRef.current
	.validateFields([ 'userName' ])
	.then((values) => {
	    // 验证通过 do sth
	    console.log(values)
	});
	.catch((errorInfo) => {
	    console.log(errorInfo)
    });

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/Jcai_0120/article/details/111100798

不用3D建模软件,如何用数学公式创造一个女孩?会眨眼,有光影的那种-爱代码爱编程

木易 发自 凹非寺 量子位 报道 | 公众号 QbitAI 这是一个完全用数学公式创造的女孩,她长这样: 绝佳的光影,移动的眼珠,是不是感觉惟妙惟肖? 最近,油管上的一项用数学进行3D人物建模的视频火了,截止目前,已有近8w的播放量。 3D人物建模,就是数学公式对人体的描述,目前已经广泛应用于生活之中。 不过,现在直接使用计算机软件进行

Linux 下的复制命令,这几个比较靠谱-爱代码爱编程

平时我们使用Linux复制命令的时候,一般使用 cp命令,但是cp 命令性能比较令人担忧 使用tar 命令来拷贝大量文件 通过对比下面的几个命令,在拷贝比较多而且比较大的文件的话,用git clone 比较靠谱,特别是复制代码库,git clone 还可以过滤掉out目录,从而可以减轻文件大小压力。 如果是普通的拷贝文件,比如就几个文件之类的,

注意| .NET开发者大会防疫须知 !-爱代码爱编程

2020年12月19-20日 中国.NET开发者大会 将于苏州举办 疫情常态化的情况下 为确保大会顺利进行大会组委会从会议内容、会务筹备等方面 均进行了全面的精细准备 以下是组委会发布的参会防疫指南 敬请所有现场参会的小伙伴 认真阅读 并严格按照防疫需求作相应准备 ▽ 为保证大会的顺利召开,按照国家相关防疫要求和《苏

Ract基础之恰当的获取数据一-爱代码爱编程

1、创建一个简单的组件,点击增加按钮计数器加1,点击减法按钮,计数器减一,如下 import React from 'react' export default class Counter extends React.Component{ constructor(props) { super(props); th

React基础之函数子组件-爱代码爱编程

1、概念:不按组件的形式传递子组件,而是定义一个可以从父组件接收参数的函数 import React from 'react' export const Name = ({children}) => children("world") Name组件中拥有定义为函数的children属性,并且没有按JSX表达式使用,而是作为函数被调用 上述组件

redux原理学习与理解-爱代码爱编程

毫无疑问,redux是react和RN开发中必不可少的重要组成,很多人使用它的时候,都是照搬,代码写完了,问他具体原理,鲜有人能够解释清楚.... 与我而言,这么多年的学习生涯中,学习一项新技能的时候,必定会追根溯源,搞清楚原理和设计初衷,这样不仅更容易理解学习,而且会使用的更加得心应手,出现问题更容易知道从哪里下手解决问题,所以,大周末早上来重新梳理r