ReactJs之表单处理

视图中肯定会用到表单的。

reactjs之表单

在form标签上绑定onSubmit方法,当button提交时触发。处理函数需要阻止默认提交。

props用来传递固定不变的对象,状态对象就需要用this.state来存储了。

input textarea select 标签绑定状态可以用value={this.state.xx}  

但是这样绑定预览时input是不能修改的。无法实现双向。可以用defaultvalue属性来绑定。

这样就可以修改了。但是input修改了。组件的状态属性来是原来的。

要想实现双向就需要绑定修改事件了onChange(峰式命名)。

事件中用e.target.value来获取值,并用this.setState()来修改。

radio checkbox的处理:

每个radio都需要绑定onChange事件

radio事件直接用值e.target.value  和this.setState来修改。

checkbox就麻烦了。

需要先获取value 和checked是否选中。

并得到当前状态的数组,用indexOf(value)来判断是否存在。

当选中并且不在数组中就concat(value)

当未选中且存在数组用splice(index,1)来删除。

最后setState修改数组。


当有很多的input select textarea时绑定事件就麻烦了。

这时可用refs.XX

在标签上添加ref="name"属性。

在submit上用this.refs.name.getDOMNode().value来获取值。

但radio checkbox还是需要用onchange事件的。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值