我更新的选择的基础上我的组件的状态的选项。
状态被初始设置为一个空数组但是一旦从API装载时,状态被更新,以便选项应该更新。
虽然发生这种情况(并且可以在开发者工具中可以看出),它看起来像material_select需要被调用来更新它的外观。
我可以从控制台得到这个通过调用$(“选择”)中正确显示。material_select()。
我认为,造成问题的路线是在这里:https://github.com/react-materialize/react-materialize/blob/master/src/Input.js#L38
有没有一种方法,我可以手动调用此而我的组件里面?
请注意,我使用的是创建反应的应用程序内。
<Row>
<Input
id="categories"
type="select"
label="Categories"
multiple={true}
onChange={this.handleChange}
s={12}
>
{this.state.categories.map(category => {
return (
<option key={category._id} value={category._id}>
{category.name}
</option>
);
})}
</Input>
</Row>
您可以通过渲染输入组件一旦你选择从API来解决这个问题。
您可以初始化状态为空,而不是空数组:
state = {
categories: null;
}
因此,在你的渲染方法,有条件(仅当选项可用)呈现组件:
render() {
return (
<Row>
{this.state.categories ? (
<Input
id="categories"
type="select"
label="Categories"
multiple={true}
onChange={this.handleChange}
s={12}
>
{this.state.categories.map(category => {
return (
<option key={category._id} value={category._id}>
{category.name}
</option>
)
})}
</Input>
) : null}
</Row>
)
}