我在网络上到处都看到过这个问题,但没有什么可以给我一个有效的解释。
我正在使用 Material-UI Select 和 React 中好的 ol' setState(...) (不过不是钩子)
我的组件基本上由这些行组成:
class MyComponent extends Component {
exportOptions = ['CSV','SDF']
constructor(props) {
super(props);
this.state = {
[...]
formatToExportTo : this.exportOptions[0]
};
[...]
<Select value={this.state.formatToExportTo}
style={{width : "10em"}}
onChange={event=> {
this.setState({formatToExportTo : event.target.value})
}}>{
this.exportOptions.map(f=><MenuItem key={f} value={f}>{f}</MenuItem>)
}</Select>,
Run Code Online (Sandbox Code Playgroud)
我的问题是我的选择组件在选择另一个选项后不会更新其值。
到目前为止我已经尝试过:
setState({...this.state, formatToExport : event.target.value})在onChange=Select 和 Select 标签中:value = {this.state.formatToExport}setState({...this.state, formatToExport : event.target.value})在onClick=每个选项的 和选择标签中:value = {this.state.formatToExport}。但这只是为了看到更新,因为 event.target.value 无论如何都不正确