通过对象的数组对象
我使用react-select,想循环内循环来代表它作为选择的值和标签:通过对象的数组对象
// Inside the component's render:
var myVar = [
this.props.foo.forEach(function(a){
{value: a.name, label: a.name} // line 83
})
];
//return
<Select ref="stateSelect" options={myVar} simpleValue clearable={this.state.clearable}
name=""
value={this.state.bar} onChange={this._myFunc}
/>
this._myFunc
是不相关的这个问题。我想是这样的:
var myVar = [
{value: "hello", label: "world"},
// the list goes on
];
与上面的代码,我有:
Parse Error: Line 83: Unexpected token :
我不是的JavaScript强烈找出这种解决方案,但是这可能吗?链接阅读?
如果您打算从this.props.foo
对象数组初始化myVar
然后尝试
var myVar = this.props.foo.map(function(a){
return {value: a.name, label: a.name} ;
});
失败的propType:提供给'Option',期望'object'的'array'类型的prop''option'无效。检查“选择”的渲染方法。 – Sylar
@Sylar你还在得到'解析错误:第83行:意外的标记:'?作为本声明的输出结果,你期望得到什么? – gurvinder372
在我的第一条评论中出现错误。在我的问题中,“这个列表正在进行中”,这是有效的,但我需要数组中的值和标签。 – Sylar
最好的是环中呈现FCT这样的:
render(){
return (
<div>
<Select
ref="stateSelect"
options={
this.props.foo.map((a) => {name: a.name, label: a.name})
}
simpleValue
clearable={this.state.clearable}
name=""
value={this.state.bar}
onChange={this._myFunc}
/>
</div>);
}
这是es6吗? “胖箭头”?也许在其他项目中很有用。 – Sylar
是的es6与jsx。你可以在es5 map中使用(function(a){return {name:a.name,label:a.name}}) –
'{...}'是在这里被认为是** block **。可能你需要'someObj = {value:a.name,label:a.name}' – Tushar