javascript - 使用 React-Select 中的 AsyncSelect 的 React Hook 表单

标签 javascript reactjs react-select react-hook-form

处理从 API 加载选项的 react-select AsyncSelect 组件的问题。但我无法通过 Controller 将信息传递给 React-Hook Form。AsyncSelect 工作得很好。数据在我的“SelectedValue”状态下可以很好地恢复。谁能帮我 ?

    const [inputValue, setValue] = useState('');
    const [selectedValue, setSelectedValue] = useState(null);
    // handle input change event
    const handleInputChange = value => {
        setValue(value);
    };
    // handle selection
    const handleChange = value => {
        setSelectedValue(value);
    }
const loadOptions = async (inputValue, callback) => {
 
        const response = await fetch(`APIurl`);
        const json = await response.json();
        const object = json.records;
        callback(object.map(i => ({ label: `${i.fields.firstName} - ${i.fields.lasName} , value: i.fields.firstName })))
    }
<Controller
   name="company"
   control={control}
   rules={{ required: true }}
   render={({ field: { onChange, value } }) => (
       <AsyncSelect
         isClearable
         value={selectedValue}
         placeholder={'Your information'}
         loadOptions={loadOptions}
         onInputChange={handleInputChange}
         onChange={handleChange}
         styles={customStyles}
       />)}
/>

最佳答案

react-hook-form为您管理一些常见的事件和状态(如 value、onChange、onBlur 等),因此在大多数情况下无需定义您自己的状态,onInputChange 除外在 AsyncSelect .
您可以尝试选择该选项并提交表单。

<Controller
    name="company"
    control={control}
    rules={{ required: true }}
    render={({ field }) => (
    <AsyncSelect
        {...field}
        isClearable
        defaultOptions
        placeholder={"Your information"}
        loadOptions={loadOptions}
        onInputChange={handleInputChange}
        // styles={customStyles}
    />
    )}
/>
Here is the codesandbox

关于javascript - 使用 React-Select 中的 AsyncSelect 的 React Hook 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68337318/

相关文章:

javascript - 使用时间刻度的 D3.js 错误(路径为 NaN)

javascript - Magento 单页结账步骤未扩展

javascript - 如何在react-select中禁用某些选项

javascript - react-select createable option - 添加组标签

javascript - React Nested Router仅更改url,但不渲染页面

javascript - 使用 GraphQL 进行 React-Select

javascript - 在 JavaScript 中强制代码按顺序运行

Javascript 排序在推送后不起作用?

javascript - 在 React 中更新状态数组长度

javascript - 在 URL 查询更改后 react 如何呈现页面