ant design pro 表单
2024-10-19 23:29:49
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>
.
最新文章
- ray与triangle/quad求交二三事
- MySQL 运行环境建议规范
- Spring REST实践之安全
- nginx配置图片服务器
- .net System.Net.Mail 之用SmtpClient发送邮件 Demo
- C++ 左值 右值
- linux服务器上Apache配置多域名
- .net WCF简单实例
- es6新增
- 一文入门C3
- 人工智能初识(百度ai)
- 中间人攻击——ARP欺骗的原理、实战及防御
- [转载]linux下网卡漂移导致网络不可用
- LeetCode 203. Remove Linked List Elements 移除链表元素 C++/Java
- Windows 10 IoT Core 17115 for Insider 版本更新
- linux 日志查询
- Mysql update 索引
- 创建安全的基于HTTP的api应用接口
- 20145325张梓靖 《Java程序设计》第10周学习总结
- react中如何获取onclick事件调用元素的dom对象
热门文章
- Selenium2+python自动化33-文件上传(send_keys)【转载】
- c#读取LOG文件并解决读取提示被其他进程占用问题
- [BZOJ1564][NOI2009]二叉查找树 树形dp 区间dp
- 在使用Arduino中遇到的问题(无法使用中文注释、程序无法下载)
- spark技术热点问题互动问答
- linux:/lib/libc.so.6: version `glibc_2.7′ not found【没有解决】采用新方法达到目的
- 如何学习web开发环境搭建和脚手架
- java开发3~5年工作经验面试题
- Apache Kafka 企业级消息队列
- 树链剖分【p4116】Qtree3 - Query on a tree