如何修复材料ui文本字段中的任意类型



我想一劳永逸地了解如何修复typescript错误,即na元素具有任意类型,以及如何确定如何实际确定应该使用什么类型来解决问题。这是我的简单代码

import { MenuItem, TextField } from '@mui/material';
import { useQuery } from '@tanstack/react-query';
import { Categories } from '../api/agent';
import { ICategory } from '../models/ApiInterface';
const CategorySelect = ({ handleCategoryChange }) => {
const { data, isLoading, isError } = useQuery<ICategory[]>(
['categories'],
Categories.list
);
if (isLoading) return;
return (
<TextField
fullWidth
label="Catégorie"
name="cyberCategory"
onChange={handleCategoryChange}
select
size="small"
value={data}
>
{data?.map((category) => {
return (
<MenuItem key={category.id} value={category.name}>
{category.name}
</MenuItem>
);
})}
</TextField>
);
};
export { CategorySelect };

我的错误是箭头函数的props部分中的handleCategoryChange。它告诉我它有任何类型,我理解,但我想知道的是在那里键入什么。我尝试了一些类似React.ChangeEvent的东西…但我厌倦了尝试我想理解的随机东西。

谢谢你的帮助!

如果您查看受控与非受控";在MUI文档的示例中,您将观察到如何正确定义更改事件处理程序:

const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
const text = event.target.value;
//some code to adapt the call to your "handleCategoryChange"
};

现在,在您的代码片段中,还不清楚CategorySelect签名是如何的,所以最多只能调整输入参数。

非受控与受控::MUI文档

最新更新