Reactjs <;选择>;物料ui中的组件不更新更改
该下拉列表外观良好,工作正常,但不会更新新选择,我收到以下错误消息:Reactjs <;选择>;物料ui中的组件不更新更改,reactjs,material-ui,Reactjs,Material Ui,该下拉列表外观良好,工作正常,但不会更新新选择,我收到以下错误消息: Warning: Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>. aterial-UI: the `value` property is required when using the `Select` component with `native=false`
Warning: Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>.
aterial-UI: the `value` property is required when using the `Select` component with `native=false` (default).
我认为这是Material ui本身的一个问题,但他们的示例运行良好,尽管示例中没有像我这样的父/子组件
例如:
我的代码(为简洁起见缩短):
嵌套状态对象:
languageValues: {
htmlFor: 'lstLanguages',
value: 'english',
input: <Input name="language" id="lstLanguages"/>,
options: [
{ value: 'dutch', text: 'Nederlands' },
{ value: 'french', text: 'Français' },
{ value: 'english', text: 'english' },
{ value: 'german', text: 'German' }
],
helperText: 'Choose your language',
},
语言值:{
htmlFor:'lstLanguages',
价值观:“英语”,
输入:,
选项:[
{值:'dutch',文本:'Nederlands'},
{value:'法语',text:'法语'},
{value:'english',text:'english'},
{值:'德语',文本:'德语'}
],
helperText:“选择您的语言”,
},
你有没有找到它为什么给你警告的答案?这似乎很荒谬,我找不到关于这个话题的其他线索。
const DropDown = ({dataToFill}) => {
const menuItemValueList = dataToFill.options.map((item, i) => {
return <MenuItem value={ item.value } key={ i }>{ item.text }</MenuItem> //Always provide a key
})
return (
<FormGroup column='true'>
<FormControl>
<InputLabel htmlFor={ dataToFill.htmlFor }>Languages</InputLabel>
<Select
defaultValue={ dataToFill.value }
input={ dataToFill.input }
>
{ menuItemValueList }
</Select>
<FormHelperText>{ dataToFill.helperText }</FormHelperText>
</FormControl>
</FormGroup>
);
}
handleChange = event => {
this.setState({ [event.target.name]: event.target.value })
}
languageValues: {
htmlFor: 'lstLanguages',
value: 'english',
input: <Input name="language" id="lstLanguages"/>,
options: [
{ value: 'dutch', text: 'Nederlands' },
{ value: 'french', text: 'Français' },
{ value: 'english', text: 'english' },
{ value: 'german', text: 'German' }
],
helperText: 'Choose your language',
},