React中redux表单编辑
reduxForm中反写数据在输入框中,数据是从别的模块拉取
// 编辑应用表单
class EditCode extends React.Component {
constructor(props) {
super(props)
}
// 取消编辑
handleBack=()=>{
window.history.go(-1);
}
// 确定编辑
handleFormSubmit=()=>{
const { handleSubmit } = this.props;
handleSubmit()
} render() {
const { handleSubmit, touched, error, pristine, reset, submitting, loading, initAppData } = this.props;
return (
<div className="defence-detail" onSubmit={handleSubmit}>
<div className='tc-panel'>
<div className='tc-panel-bd'>
<div className='param-box'>
<div className='param-bd'>
<ul className='form-list'>
<li>
<div className='form-label required'>
<label htmlFor='Name'>应用名称</label>
</div>
<div className="form-input">
<Field name='Name' placeholder='必填' component={inputAppName}/>
</div>
</li>
<li>
<div className='form-label required'>
<label htmlFor='Developer'>应用开发商</label>
</div>
<div className='form-input'>
<Field name='Developer' placeholder="必填" component={inputAppDeveloper}/>
</div>
</li>
<li>
<div className='form-label'>
<label htmlFor='Desc'>应用描述</label>
</div>
<div className='form-input'>
<Field name='Desc' component={textareaAppDescription}/>
</div>
</li>
</ul>
</div>
</div>
</div>
<div className='tc-panel-ft'>
<Button onClick={()=>this.handleFormSubmit()} loading={loading}> 确认 </Button>
<Button className='weak' onClick={()=>this.handleBack()} disabled={this.props.disabled}> 取消 </Button>
</div>
</div>
</div>
)
}
} EditCode = reduxForm({
form: 'editAppForm',// 这是你的表单名称
validate,
enableReinitialize:true,
keepDirtyOnReinitialize:true,// 这个值表示重新初始化表单后,不替换已更改的值,可以用clear来测试
})(EditCode) EditCode = connect(
state => ({
initialValues: state.appManage.initAppData, //appManage是你需要拉取数据的模块 你需要填充的数据initAppData }), )(EditCode)
export default EditCode
官网链接https://redux-form.com/6.7.0/examples/initializefromstate/
上面的 initialValues 接受的是一个obj对象,默认填充数据会根据上面的<Field>中的name对应的属性值进行填充
React中redux表单编辑的更多相关文章
- React中的表单应用
React中的表单应用 用户在表单填入的内容,属于用户跟组件的互动,所以不能用this.props读取. var Input = React.createClass({ //初始化组件数据 getIn ...
- react实战系列 —— React 中的表单和路由的原理
其他章节请看: react实战 系列 React 中的表单和路由的原理 React 中的表单是否简单好用,受控组件和非受控是指什么? React 中的路由原理是什么,如何更好的理解 React 应用的 ...
- React中的表单元素
在web应用开发当中,表单还是很重要的元素. 应用表单组件有:文本框(input.textarea).单选按钮和复选框.Select组件. 文本框:文本框的状态改变即文本框中的内容的改变.此时的sta ...
- HTML中让表单input等文本框为只读不可编辑但可以获取value值的方法;让文本域前面的内容显示在左上角,居中
HTML中让表单input等文本框为只读不可编辑的方法 有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使input text的内容,中国两个字不可以修改 有时候,我们希望 ...
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- vue中的表单异步校验方法封装
在vue项目的开发中,表单的验证必不可少,在开发的过程中,用的是vue+iview的一套,我们知道iview的表单验证是基于async-validator,对于async-validator不熟悉的可 ...
- jqgrid 实现行编辑,表单编辑的列联动
这个问题的场景相信大家都遇到过,比方有A,B,C三列,B,C列均为下拉框.可是C列的值是由B列的值来决定的.即C列中的值是动态变化的,变化的根据就是B列中你选择的值. 本文给出的是一个有用,简易快捷的 ...
- AngularJS中的表单验证
AngularJS中的表单验证 AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证 1.使用angularjs的表单验证 正则式验证 只需要配置一个正则 ...
- MVC中处理表单提交的方式(Ajax+Jquery)
MVC中处理表单有很多种方法,这里说到第一种方式:Ajax+Jquery 先看下表单: <form class="row form-body form-horizontal m-t&q ...
随机推荐
- 基于R语言的ARIMA模型
A IMA模型是一种著名的时间序列预测方法,主要是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型.ARIMA模型根据原序列是否平稳以及 ...
- SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 SignalR 简单示例 通过三个DEMO学会SignalR的三种实现方式 SignalR推送框架两个项目永久连接通讯使用 SignalR 集线器简单实例2 用SignalR创建实时永久长连接异步网络应用程序
SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 异常汇总:http://www ...
- Session 在分布式系统中实现方式
##server独立Session 例如以下图所看到的: server独立Session要求用户的每次请求都必须在同一台应用server上面操作,这就要求负载均衡server每次都能把用户的请求发送到 ...
- Myeclipse安装、配置、测试
Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...
- return返回两个三元表达式的和,返回不正确,同样要注意在JavaScript中,也是如此
public string b() { string b = ""; "; } public int c() { public string b() { string b ...
- rabbitmq web管理
celery突然连接不上rabbitmq server,结果找半天发现是rabbitmq卡的不行... rabbitmq 设置web管理,添加用户 rabbitmqctl list_queues | ...
- selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: None;Message: unexpected alert open: {Alert text : 您点击的频率过快!请稍后再试}
报错 Traceback (most recent call last): File "C:/myFiles/code/cnki/cnki_1/core/knavi.py", li ...
- [hbase] hbase 基础使用
一.准备 hadoop 2.8.0 (提前配置好) hbase 1.2.6 zookeeper 3.4.9 (配置完成) jdk1.8 hadoop 集群信息: zk集群: 二.安装配置 1.下载(官 ...
- 【Dubbo 源码解析】08_Dubbo与Spring结合
Dubbo 与 Spring 结合 基于 dubbo.jar 内的 META-INF/spring.handlers 配置,Spring 在遇到 dubbo 名称空间时,会回调 DubboNamesp ...
- ReentrantLock可重入锁的理解和源码简单分析
import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; /** * @author ...