我正在使用材料Ui的组件AutoComplete渲染多个Checkbox,并将选中的选项显示到TextField中,提交表单时出现错误,选中的Checkbox值为空,如下所示:category:“”看起来react hook表单无法识别名称“category”,如下所示:
<Autocomplete
id="checkboxes-tags-demo"
fullWidth
multiple
limitTags={2}
getOptionLabel={(option) => option.title}
disableCloseOnSelect
noOptionsText="Nenhuma opção foi encontrada"
variant="outlined"
options={newCategories}
renderOption={(option, {selected}) => {
return (
<Box key={option.id} ml={option?.isSub ? 3 : 0}>
<Checkbox
icon={icon}
checkedIcon={checkedIcon}
checked={selected}
/>
{option.title}
</Box>
)
}
}
renderInput={(params) =>
<TextField
name="category"
inputRef={register}
{...params}
label="Selecione a categoria"
variant="outlined" />}
/>
}
/>
2条答案
按热度按时间4dc9hkyq1#
您需要使用React Hook Form提供的
Controller
组件 Package Material UIAutocomplete
。有关详细信息,请参阅文档中的此部分。xdyibdwo2#
以下是为多个值设置自动完成的正确方法:
multiple
添加多个值,options
:添加要选择的选项getOptionLabel
:显示选项的标签onChange
:使用react-hook-form
的onChange函数设置所选值renderInput
:渲染输入注意,在我的例子中,
companyIndustryTypes
是一个对象数组: