1.如果用defaultValue那么后台返回的值一边value是不再刷新的,如果用value加onChange又不知道怎么给单独的value值做操作。
1.如果用defaultValue那么后台返回的值一边value是不再刷新的,如果用value加onChange又不知道怎么给单独的value值做操作。
可以参照 React-ElementUi
form 组件的第一个 demo
<!--
参照部分代码
两个表单用的同一个 change 事件
只要调用的时候传递不同的 key 给 setState即可
在 es6中 key 是可以使用变量的
-->
<Form model={this.state.form} labelWidth="80" onSubmit={this.onSubmit.bind(this)}>
<Form.Item label="活动名称">
<Input value={this.state.form.name} onChange={this.onChange.bind(this, 'name')}></Input>
</Form.Item>
<Form.Item label="活动形式">
<Input type="textarea" value={this.state.form.desc} onChange={this.onChange.bind(this, 'desc')}></Input>
</Form.Item>
</Form>
// element-ui 的代码, 不知道为什么没有使用 setState
// 学习下思路就好了
onChange(key, value) {
this.state.form[key] = value;
// this.forceUpdate();
}
希望可以帮助到你
4 回答1.7k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答996 阅读✓ 已解决
1 回答708 阅读✓ 已解决
2 回答872 阅读✓ 已解决
4 回答1.2k 阅读
终于搞定了 其实根据遍历数组里面的数据修改就行;好比
<input type="text" onChange={e => this.inputChang(e, item)} value={item.cartAmount}/ >
我这里默认现实的是后台返回数据中的一个值,只要把item传过去让item.cartAmount=e.target.value;就可以改成文本框输入的值了!