我正在尝试向 material-ui 的 Select 组件添加一个 onChange 事件处理程序:
<Select
labelId="demo-simple-select-label"
id="demo-simple-select"
value={values.country}
onChange={handleCountryChange}
>
{countries.map(c => {
return (
<MenuItem value={c}>{c}</MenuItem>
)
})}
</Select>
和我的事件处理程序:
const handleCountryChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
setValues({...values, country: event.target.value});
};
但我收到以下错误:
类型 ‘(event: ChangeEvent) => void’ 不可分配给类型 ‘(event: ChangeEvent<{ name?: string | undefined; value: unknown; }>, child: ReactNode) => void’。
怎么了?
原文由 Desiigner 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于 MUI Select 不是真正的选择元素,您需要使用 —
e.target.value
as Type
并将处理程序键入React.ChangeEvent<{ value: unknown }>