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>

.

最新文章

  1. ray与triangle/quad求交二三事
  2. MySQL 运行环境建议规范
  3. Spring REST实践之安全
  4. nginx配置图片服务器
  5. .net System.Net.Mail 之用SmtpClient发送邮件 Demo
  6. C++ 左值 右值
  7. linux服务器上Apache配置多域名
  8. .net WCF简单实例
  9. es6新增
  10. 一文入门C3
  11. 人工智能初识(百度ai)
  12. 中间人攻击——ARP欺骗的原理、实战及防御
  13. [转载]linux下网卡漂移导致网络不可用
  14. LeetCode 203. Remove Linked List Elements 移除链表元素 C++/Java
  15. Windows 10 IoT Core 17115 for Insider 版本更新
  16. linux 日志查询
  17. Mysql update 索引
  18. 创建安全的基于HTTP的api应用接口
  19. 20145325张梓靖 《Java程序设计》第10周学习总结
  20. react中如何获取onclick事件调用元素的dom对象

热门文章

  1. Selenium2+python自动化33-文件上传(send_keys)【转载】
  2. c#读取LOG文件并解决读取提示被其他进程占用问题
  3. [BZOJ1564][NOI2009]二叉查找树 树形dp 区间dp
  4. 在使用Arduino中遇到的问题(无法使用中文注释、程序无法下载)
  5. spark技术热点问题互动问答
  6. linux:/lib/libc.so.6: version `glibc_2.7′ not found【没有解决】采用新方法达到目的
  7. 如何学习web开发环境搭建和脚手架
  8. java开发3~5年工作经验面试题
  9. Apache Kafka 企业级消息队列
  10. 树链剖分【p4116】Qtree3 - Query on a tree