我确定这是一个简单的问题,但实际上我无法弄清楚,为什么它不起作用。我仍然是初学者react-redux
,所以请耐心等待我。;-)
我正在加载不同的数据react-redux
。现在我想select
用加载的值填充一个框。
我可以看到数据已正确加载(props.anreden
& props.benutzer
)。所以我可以确定数据被正确加载并且我在其他地方有错误。
不同之处在于anreden
它benutzer
是一个对象数组,而是一个对象。
当我想填充方法中的select
框时render()
,它只填充的数据benutzer
而不是的anreden
:
这是这部分的代码:
<div className="select">
<select
value={0}
className={`form-control tabable`}
>
<option value={0}>auswählen</option>
<option value={this.props.benutzer.id}>{this.props.benutzer.vorname}</option>
{this.props.anreden && this.props.anreden.length > 0 &&
this.props.anreden.map((option) => {
return (<option value={option.id}>{option.bezeichnung}</option>)
})}
</select>
</div>
有没有人给我一个提示,为什么会这样?
它看起来像是this.props.anreden
一个对象,而不是您期望的数组。所以this.props.anreden.length > 0
总是false
。
映射值。你也需要钥匙。
{this.props.anreden &&
Object.values(this.props.anreden).map((option) => {
return (<option value={option.id} key={option.id}>{option.bezeichnung}</option>)
})}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句