首页 > 解决方案 > 如何为材质 ui 选择字段设置值?

问题描述

我正在为年份字段使用材质 UI 选择。我想根据该州的值设置默认年份。我正在根据年份数组填充年份。

以下是用于创建年份数组的方法,我在组件中调用此方法确实挂载:-

updateYear = () => {
    var start = 1950;
    var end = new Date().getFullYear() - 20;
    var yearValue = [];
    for (var year = start; year <= end; year++) {
        yearValue.push({ key: year, text: year, value: year });
    }
    console.log("yearValue", yearValue);
    this.setState({ yearValue: yearValue });
};

这是我的材料 UI 选择的代码:-

<Select
    value={this.state.year}
    onChange={this.handleChange_year}
    inputProps={{
        name: "year",
        id: "year"
    }}
>
{this.state.yearValue &&
    this.state.yearValue.map(year => {
    return <MenuItem value={year.value}>{year.value}</MenuItem>;
})}
</Select>

任何帮助或建议表示赞赏。谢谢你。

标签: javascriptarraysreactjsselectmaterial-ui

解决方案


也许你可以试试这个:

要设置默认值,在组件确实 mount 您可以添加: this.setState({ year: yearValue[0].value })

然后,编辑 handleChange_year 方法:

handleChange_year = (event) => {
    this.setState({ year: event.target.value })
}

推荐阅读