我正在使用材料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>


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

最佳答案

也许您可以尝试以下方法:

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

然后,编辑handleChange_year方法:

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

10-06 16:07