【发布时间】:2020-07-18 11:53:33
【问题描述】:
在 React JS 中,我试图创建一个函数,用输入的值更新输入字段的 onChange 事件的状态。
状态模型必须保持这样,因为我必须这样发布它(以匹配 API 结构等)。
但我不知道如何获取每条记录的状态“答案”部分。
// State --------------------------------------
state = {
values: [
//1
{
section: "a",
answers:
{
1a: 1,
1b: 2,
1c: 3,
1d: 4,
1e: 5
}
},
//2
{
section: "b",
answers:
{
2a: 1,
2b: 2,
2c: 3,
2d: 4,
2e: 5,
2f: 6,
2g: 7,
2h: 7
}
}
]
}
// Set value ----------------------------------
setValue = (key, val) => {
this.setState((state) => ({
values: {
...state.values,
[key]: val
}
}));
};
// Handle input change ------------------------
handleChange = key => e => {
this.setValue(key, e.target.value)
};
//Usage ---------------------------------------
<input
id="input1"
type="number"
onChange={handleChange(values.1a)}
defaultValue={values.1a}
/>
<input
id="input2"
type="number"
onChange={handleChange(values.2c)}
defaultValue={values.2c}
/>
【问题讨论】:
-
目前只是创建一个新的状态键和值,但需要更新现有状态!
标签: javascript reactjs state