【发布时间】:2017-07-16 11:43:09
【问题描述】:
简历: 对于在多选字段中选择的每个值,调用一个函数并将该值添加到字符串中。我想要的只是将它作为对象添加到数组中。示例:
已选择 1 个选项:
Current:
"selected01"
Desired:
[ { "value": "selected01"} ]
已选择 2 个选项:
Current:
"selected01, selected02"
Desired:
[ {"value": "selected01"}, {"value":"selected02"}]
完整解释:
我有一个函数,它接收一个字符串并将其添加到状态值。示例:
handleSelectChange (value) {
this.setState({ value })
}
假设您有一个包含三个选项的多选字段,然后选择其中两个。
它会调用:
onChange={this.handleSelectChange}
状态将是:
state.value: 'selected01, selected02'
如果您再选择一个:
state.value: 'selected01, selected02, selected03'
但是我想做的是拥有一个包含 3 个对象的数组:
Object:
[
{"value": "select01"},
{"value": "select02"},
{"value": "select03"}
]
查看所需输出的另一种方式(console.log):
state: [3]
[0]: Object
[1]: Object
[2]: Object
有什么想法吗?
【问题讨论】:
-
this.setState(value.split(", "));
-
也许我没有得到这个问题,但不会简单的 value.split(',') 解决问题?
-
如果你想将该字符串转换为对象数组,关键是什么?如果你想转换成字符串数组然后使用
split(','),你会得到['a', 'b', 'c'] -
我看不到拆分将如何获取我的值并使用该值创建一个对象。所选字段正在添加到字符串中,我需要将其添加到新对象中。当前有一个选项:"selected01" 期望:[ { "selected01"} ]
-
@LucasOliveiraSilva 那个对象应该有密钥,你想要的密钥是
[{key: 'selected01'}, {key: 'selected02'}]。
标签: javascript arrays reactjs object data-structures