我在代码中使用了<InputLabel>
和组件Select
,MenuItem
如下所示:
<div className="form-field full-width-field ">
<InputLabel>Q3.Is this the correct data?</InputLabel>
<Select
labelId="demo-simple-select-label"
id="demo-simple-select"
value={''}
onChange={handleChange}
>
<MenuItem value={'Y'}>Yes</MenuItem>
<MenuItem value={'N'}>No</MenuItem>
</Select>
</div>
所以,当我使用value = {''}
如上所示的代码时Select
,我看不到代码中的任何错误。但是,当用户选择Yes
或No
时,屏幕上不会显示任何内容,如下所示:
但是,当我注释掉该value = {''}
部分并像这样使用它时:
<Select
labelId="demo-simple-select-label"
id="demo-simple-select"
//value={''}
onChange={handleChange}
>
它显示用户选择Yes
或No
在屏幕上,但我在控制台中不断收到以下红色警告:
警告:组件正在更改类型为 undefined 的不受控输入以进行控制。输入元素不应从不受控切换到受控(反之亦然)。决定在组件的生命周期内使用受控输入元素还是不受控输入元素。
如何解决这两个问题?