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 ...
随机推荐
- ORA-12514 TNS:LISTENER DOES NOT CURRENTLY KNOW OF SERVICE REQUESTED IN CONNE
对比Oracle服务器地址,端口号,还有实例名(也就是服务名).修改tnsnames.ora 在Oracle客户端的安装目录底下. 然后用sqlplus [用户名]/[密码]@[服务命名] 服务命名 ...
- k8s cronjob设置作业失败后退出不重复执行
Optional parameters backoffLimit: Number of retries for pods launched by the job. If you want your p ...
- Openwrt 刷机后配置WAN口,安装luci和设置中文、安装挂载USB存储。
官方版本的ROM编译时时没有把luci和uhttpd打包进去的,所以,要ssh登录到路由器后手动安装,默认用户名root,密码是空. 如果你的路由器是挂载在其他路由下面的,DHCP可以获取到IP,能正 ...
- RabbitMQ 特性
1RabbitMQ 特点 与 SpringAMQP 完美整合.API 丰富. 集群模式丰富,表达式配置,HA 模式,镜像队列模型. 保证数据不丢失的前提做到高可靠性.可用性.
- ubuntu 14.04 pytorch安装
一. pytorch官网上有安装说明: 但是在安装过程中,由于pip版本为1.5.4,需要先对pip版本进行升级才行,升级步骤如下: 1. sudo apt-get remove python-pip ...
- centos6 通过 kvm 安装 centos7
参考: http://blog.51cto.com/wzlinux/1731324 http://blog.csdn.net/ztynet/article/details/54952425 一.检查C ...
- Android Studio添加原生库并自动构建
[时间:2017-09] [状态:Open] [关键词:Android,Android Studio,gradle,native,c,c++,cmake,原生开发,ndk-build] 0 引言 最近 ...
- Spring-boot之 rabbitmq
今天学习了下spring-boot接入rabbitmq. windows下的安装:https://www.cnblogs.com/ericli-ericli/p/5902270.html 使用博客:h ...
- mac 上使用 zip 版的mysql
1. 下载: 2. 解压,然后复制到需要的目录下 3. 修改 /usr/local/mysql的所有者为mysql: chown -R mysql:mysql mysql (这一步我是没做,爱做不做. ...
- PHP读取文本文件(TXT)
<? header("content-type:text/html;charset=utf-8"); $file = "demo.txt"; ###判断该 ...