Javascript 如何获取物料界面名称';自动完成';组件?

Javascript 如何获取物料界面名称';自动完成';组件?,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我正在使用多个MUI组件,目前正在尝试编写一个“通用”事件处理程序,它将调用useReducerhook来存储状态 问题是在自动完成文档中,onChange函数如下所示: function(event: object, value: T | T[], reason: string) => void 我正试图从事件对象获取字段名称(以确定正在更改的自动完成功能),但event.target.name和event.currentTarget.name不起作用 有什么方法可以检索已更改组件的名

我正在使用多个MUI组件,目前正在尝试编写一个“通用”事件处理程序,它将调用
useReducer
hook来存储状态

问题是在
自动完成
文档中,onChange函数如下所示:

function(event: object, value: T | T[], reason: string) => void
我正试图从事件对象获取字段名称(以确定正在更改的自动完成功能),但
event.target.name
event.currentTarget.name
不起作用


有什么方法可以检索已更改组件的名称吗?

未定义的原因是
onChange
中的
事件。target
指向
li
,但MaterialUi Autocomplete会将
名称添加到外部
div
。因此,没有直截了当的方法。您可以使用
ref
getAttribute
获取名称

代码片段

导出默认函数组合框(){
const ref0=useRef();
返回(
选项.title}
onInputChange={(e,v,r)=>{
常数ev=e.目标;
如果(r==“重置”)控制台日志(ev、v、r);
}}
onChange={(e,v,r)=>{
log(ref0.current.getAttribute(“名称”);
}}
样式={{宽度:300}
renderInput={params=>(
)}
/>
);
}

你可以做
onChange={callback.bind(null,}
。在这个属性中-
ref={ref0}
可以选择任何你想要的
ref
名称吗?比如
red={input}
或类似的名称吗?你得到了关于是否可以选择任何你想要的ref名称的答案吗?