1.Input Enter事件

<input onKeyUp={this.onKeyUp} onPressEnter={this.enter} />

onKeyUp = (e) => {
if(e.keyCode === 13){
console.log("我是enter")
}
} enter= (e) => {
console.log("我是enter")
}

2.表单默认值(读取后台数据)

<FormItem
{...formItemLayout}
label="手机号码"
>
{getFieldDecorator('phone', {
rules: [{
required: true, message: '请输入手机号码',
}],
initialValue:info.phone?info.phone:'',
})(
<Input placeholder="请输入手机号码" />
)}
</FormItem>

initialValue:info.phone?info.phone:”,
必须使用initialValue来动态赋值

3.表单时间

const FormItem = Form.Item;

<Form hideRequiredMark onSubmit={this.handleSubmit}>
<FormItem
{...formItemLayout}
label="时间"
>
{getFieldDecorator('joinTime', {
rules: [{
required: true, message: '请选择时间',
}],
initialValue:info? moment(info.joinTime, "YYYY-MM-DD"):''
})(
<DatePicker placeholder='请选择时间' format="YYYY-MM-DD" />
)}
</FormItem>
</Form> //提交事件
handleSubmit = (e) => { //新增、编辑=提交
const { newAdd ,page} = this.state;
e.preventDefault();
this.props.form.validateFieldsAndScroll((err, values) => {
if (!err) {
const value = {...values, userId:newAdd,'joinTime': values['joinTime'].format('YYYY-MM-DD'),};
this.props.dispatch({
type: 'member/saveAgentInfo',
payload: value,
})
}
});
}

使用validateFieldsAndScroll()获取表单数据后joinTime:moment(),需要使用format()转化一下

4.清空表单

setModal1Hide(modal1Visible) {
this.setState({
modal1Visible:modal1Visible,
})
this.props.dispatch({
type: 'member/delFrom',
payload: {
oneMemberInfo:null
},
});
this.props.form.resetFields() //清空所有
}

5.表单中嵌套动态选择框

<FormItem {...formItemLayout} label="店名">
{getFieldDecorator('agentId', {
rules: [{
required: true, message: '选择加盟店',
}],
initialValue:OrderByOrderNo.storeName
})(
<Select defaultValue={OrderByOrderNo.storeName} className={styles.typeBtn}>
{AgentList.map(d => <Option value={d.userId} >{d.storeName}</Option>)}
</Select>
)}
</FormItem>

6.表单中使用正则表达式验证手机号

<FormItem
{...formItemLayout}
label="手机号码"
>
{getFieldDecorator('phone', {
rules: [{
required: true, message: '请输入手机号码',
}, {
pattern: /^1\d{10}$/, message: '手机号格式错误!',
}],
initialValue:oneMemberInfo?oneMemberInfo.phone:'',
validateTrigger:'onBlur'
})(
<Input placeholder="请输入手机号码" />
)}
{
newAdd
?
''
:
<span className="ant-form-text" style={{color:'#389e0d'}}>
*手机号为加盟店登录账号及初始密码,请确保正确
</span>
}
</FormItem>

.

ant design pro 表单的更多相关文章

  1. 实现Ant Design 自定义表单组件

    Ant Design 组件提供了Input,InputNumber,Radio,Select,uplod等表单组件,但实际开发中这是不能满足需求,同时我们希望可以继续使用Form提供的验证和提示等方法 ...

  2. ant design 自定义表单验证大全

     需求是 账号名可以是手机号也可以是邮箱 要做手机号和邮箱的验证,官网的那个验证规则不匹配  怎么自定义验证规则?  一:组件部分 <Form horizontal> <Row gu ...

  3. ant design pro如何实现分步表单时,返回上一步值依然被保存

    首先,分步表单ant design pro支持,看官方Demo即可,那么如何实现如题,关键在于设置initialValue {getFieldDecorator('name', { initialVa ...

  4. ant design pro (十三)advanced 错误处理

    一.概述 原文地址:https://pro.ant.design/docs/error-cn 二.详细 2.1.页面级报错 2.1.1.应用场景 路由直接引导到报错页面,比如你输入的网址没有匹配到任何 ...

  5. Ant Design Pro入门教程,安装,运行(V5 Typescript版)

    [前言] 找了很多Admin模板,最后还是看中了AntDesignPro这个阿里巴巴开源的Admin框架,长这样(还行吧,目前挺主流的): 官网地址:https://pro.ant.design/in ...

  6. (二)React Ant Design Pro + .Net5 WebApi:前端环境搭建

    首先,你需要先装一个Nodejs,这是基础哦.如果没有这方面知识的小伙伴可以在园子里搜索cnpm yarn等关键字,内容繁多,此不赘述,参考链接 一. 简介 1. Ant Design Pro v5 ...

  7. ant design pro (八)构建和发布

    一.概述 原文地址:https://pro.ant.design/docs/deploy-cn 二.详细 2.1.构建 当项目开发完毕,只需要运行一行命令就可以打包你的应用: npm run buil ...

  8. ant design pro (七)和服务端进行交互

    一.概述 原文地址:https://pro.ant.design/docs/server-cn Ant Design Pro 是一套基于 React 技术栈的单页面应用,我们提供的是前端代码和本地模拟 ...

  9. Ant Design Pro+Electron+electron-builder实现React应用脱离浏览器,桌面安装运行

    ant-design-pro ----> version :2.3.1 由于网上Ant Design Pro+Electron的资料太少,我就贡献一点经验   最近需要讲AntD Pro项目(以 ...

随机推荐

  1. Servlet中使用 Last-Modified、Expires和Cache-Control

    long now = System.currentTimeMillis(); long expires = System.currentTimeMillis() + (1000 * 60 * minu ...

  2. Selenium2+python自动化32- 测试报告的易读性【转载】

    前言 前一篇已经介绍了报告的生成方法,本篇小编优化一下测试报告,使测试报告便于大多数阅读.虽然在我们在测试用例开发时为每个用例添加了注释,但测试报告一般是给非测试人员阅读的,如果能在报告中为每一个测试 ...

  3. unity学习笔记1--Space Shooter

    其实我一直觉得我是个模棱两可的人,就计算机这块来说,自己还是想制作游戏什么的,但是又得考虑到现实就业的问题,所以现在自己主要在学安卓和javaweb.现在大概是心血来潮吧,突然想追逐下自己的理想,虽然 ...

  4. hdu 5178(二分-lower_bound,upper_bound)

    pairs Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  5. redis特性与使用场景

    一.8大特性 1.速度快 数据存储在内存,可达到10万OPS 2.可持久化,断电不丢数据 所有数据保存在内存中,对数据的更新异步的保存在硬盘中 3.多种数据结构 字符串.哈希.列表.集合.有序集 合位 ...

  6. yii2.0在model里自定义数据表

    无需多言,直接撸代码 class Zhuanjia extends \yii\db\ActiveRecord { public static function tableName() { return ...

  7. [BZOJ1494][NOI2007]生成树计数 状压dp 并查集

    1494: [NOI2007]生成树计数 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 793  Solved: 451[Submit][Status][ ...

  8. Mathematica作图

    第2讲 在Mathematica中作图    一个较强的符号计算系统均有很好的绘图功能,Mathematica也不例外,Mathematica 拥有非常强大的绘图功能.并且提供了一大批基本数学函数的图 ...

  9. (2)创建发布Maven

    一.创建maven项目 (1)命令行 mvn archetype:generate (2)选择模板默认是7 (3)输入组织号.项目名称及版本号.包名 回车确认 创建成功 二.转成idea项目 进入跟目 ...

  10. 洛谷——P2758 编辑距离

    P2758 编辑距离 题目描述 设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作共有三种: 1.删除一个字符: 2.插入一个字符: 3.将一个字符改为另一 ...