Javascript 当我失去焦点或转到下一个字段时,react select清除键入的值

Javascript 当我失去焦点或转到下一个字段时,react select清除键入的值,javascript,reactjs,redux,es6-class,react-select,Javascript,Reactjs,Redux,Es6 Class,React Select,因此,我不熟悉react并使用react选择库处理typeahead组件,并基于键入的输入异步获取建议的选项。现在让我们假设,如果我输入了“google”,现在“google”可能包含在建议的选项中,或者不包含在建议的选项中,如果我转到下一个表单字段,我将丢失我的类型值“google”。我必须始终从选项中单击吗?无法接受键入的值,而无需单击“从选项”。我尝试使用onBlur执行此操作,但它清除了值 下面是myCode: // Form field using redux form <

因此,我不熟悉react并使用react选择库处理typeahead组件,并基于键入的输入异步获取建议的选项。现在让我们假设,如果我输入了“google”,现在“google”可能包含在建议的选项中,或者不包含在建议的选项中,如果我转到下一个表单字段,我将丢失我的类型值“google”。我必须始终从选项中单击吗?无法接受键入的值,而无需单击“从选项”。我尝试使用onBlur执行此操作,但它清除了值

下面是myCode:

// Form field using redux form
    <Field>
      name={FIELD_AUTO_COMPLETE}
      component={renderCompanyNameTypeAhead}
      text="text"
      placeHolder="Company Name"
    </Field>
//使用redux表单的表单字段
名称={FIELD_AUTO_COMPLETE}
component={renderCompanyNameTypeAhead}
text=“text”
占位符=“公司名称”
在我的无状态函数中:

    const getOptions = () => async(input) => {
        let response = await fetchApi.getOptions(input);
        let dataRepsone = await response.json();
        const arr = dataResponse.data;
             if (arr) {
                return arr.map( obj => {
                   const newObj = {};
                   newObj.label = obj.name;
                   newObj.value = obj.id;
                   return newObj;
               });
             }
          };

   const renderCompanyNameTypeAhead = (props) => {
     const getOptions = loadOptions();
     return (
            <div>
              <AysncSelect
                 {...props}
                 value={(props.input.value) ? props.input.value : props.selectedValue}
                 type={props.type}
                 label={props.label}
                 onChange={(value) => props.input.onChange(value)}
                 onBlur={() => props.onBlur(pros.input.value)}
                 loadOption={getOptions}
                />
             </div>
    )}
constgetoptions=()=>async(输入)=>{
let response=wait fetchApi.getOptions(输入);
让dataRepsone=wait response.json();
const arr=dataResponse.data;
如果(arr){
返回arr.map(obj=>{
const newObj={};
newObj.label=obj.name;
newObj.value=obj.id;
返回newObj;
});
}
};
const renderCompanyNameTypeAhead=(道具)=>{
const getOptions=loadOptions();
返回(
props.input.onChange(值)}
onBlur={()=>props.onBlur(pros.input.value)}
loadOption={getOptions}
/>
)}

我想这里有一个额外的大于符号(>):


更改为:

<AysncSelect

我想这里有一个额外的大于符号(>):


更改为:

<AysncSelect

请创建一个。@FrankerZ很抱歉在我看到你的评论时编辑了我的代码。请创建一个。@FrankerZ很抱歉在我看到你的评论时编辑了我的代码