你能告诉我,为什么我会收到错误信息“一个组件正在将一个未受控制的自动完成更改为受控制的。 元素不应从未受控制变为受控制(反之亦然)。 决定在组件的生命周期中使用受控或未受控制的自动完成元素。”
组件:
function AutoComplete(props) {
const defaultProps = {
options: props.options,
getOptionLabel: option => option.name,
};
const handleChange = (e, value) => {
props.onChange(value);
};
return (
<Autocomplete
{...defaultProps}
renderInput={params => (
<TextField {...params} label={props.label} margin="normal" />
)}
onChange={handleChange}
value={props.value}
/>
);
}
调用自动完成:
<Controller
control={control}
name = 'country'
as = {
<AutoComplete
options={countryOptions}
onChange={selectCountryHandler}
label="Country"
value={selectedCountry || ''}
/>
} />
我该如何解决这个错误?
<Controller ...
上设置defaultValue={null}
。 - WelcomeTo