Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何获得';名称';事件内[自动完成]组件_Reactjs_Material Ui - Fatal编程技术网

Reactjs 如何获得';名称';事件内[自动完成]组件

Reactjs 如何获得';名称';事件内[自动完成]组件,reactjs,material-ui,Reactjs,Material Ui,我有处理程序fn用于处理来自Textfield的输入 我想将它用于自动完成组件,但我无法从中获取“名称”和值 function handlerChange(e){ const { name, value, checked } = e.target; return { name, value: value || checked }; } <Autocomplete id="distributions" name="defaultDistr" options=

我有处理程序fn用于处理来自Textfield的输入

我想将它用于自动完成组件,但我无法从中获取“名称”和值

function handlerChange(e){ 
const { name, value, checked } = e.target;
  return { name, value: value || checked };
}

 <Autocomplete
    id="distributions"
    name="defaultDistr"
    options={distributions}
    getOptionLabel={distribution => distribution}
    inputValue={defaultDistr}
    defaultValue={defaultDistr}
    onChange={(e, value) => {
      console.log('e', e, 'value', value);
    }}
    renderInput={params => (
      <TextField
        {...params}
        name="defaultDistr"
        label="distributions"
        margin="normal"
        fullWidth
      />
    )}
  />
函数句柄更改(e){
常量{name,value,checked}=e.target;
返回{name,value:value | | checked};
}
分布}
inputValue={DefaultDistrict}
defaultValue={DefaultDistrict}
onChange={(e,value)=>{
console.log('e',e',value',value);
}}
renderInput={params=>(
)}
/>

对于
自动完成
,有许多不同的事件会导致值的更改。这些事件可能来自几个不同的元素,因此您不能依赖事件的目标来获取名称。类似地,事件的目标不一定有值,即使有,该值也可能不代表
自动完成
的当前值。这就是将正确的值作为第二个参数传递给
onChange
处理程序的原因

假设
handlerChange
中有比您所展示的更重要的代码,因此值得尝试重用,您可以执行如下所示的操作,创建一个新对象,将信息组织到处理程序所期望的结构中

<Autocomplete onChange={(event, value)=> { handlerChange({target: {name: "defaultDistr", value: value}})} .../>
{handlerChange({target:{name:'defaultDistr',value:value}}})}…/>