【发布时间】:2018-12-29 11:36:28
【问题描述】:
我有一个存储在状态中的对象列表。我想以这样的格式将输入数据存储到对象中。
{
"parameter" : [{
"id":"parameter1",
"value":"value1"
}, {
"id":"parameter2",
"value":"value2"
}]
}
问题是输入的数量不是恒定的。如果有 10 个输入,我的对象长度应该是 10。
(1) 在输入 id=parameter1 中键入“value1”
{
"parameter" : [{
"id":"parameter1",
"value":"value1"
}]
}
(2) 在输入 id=parameter2 中键入“value2”
{
"parameter" : [{
"id":"parameter1",
"value":"value1"
}, {
"id":"parameter2",
"value":"value2"
}]
}
(3) 在输入 id=parameter1 中键入“value3”
{
"parameter" : [{
"id":"parameter1",
"value":"value3"
}, {
"id":"parameter2",
"value":"value2"
}]
}
我编写了 onchange 处理函数,但对象的长度始终等于 1。它只更改了我的对象的 id 和 value。
onChangeHandlerParameter = e => {
this.setState({ parameter:[{"id": e.target.id,"value": e.target.value}]})
}
(1) 在输入 id=parameter1 中键入“value1”
{
"parameter" : [{
"id":"parameter1",
"value":"value1"
}]
}
(2) 在输入 id=parameter2 中键入“value2”
{
"parameter" : [{
"id":"parameter2",
"value":"value2"
}]
}
【问题讨论】:
-
您必须修改存储在
parameter中的数组。目前,您正在用一个新数组覆盖现有数组。
标签: javascript reactjs