React Material UI自动完成获取未完成的用户输入



我使用的是带有react-hook-form的Material UI的Autocomplete输入,如下所示:

import React from "react";
import {Controller} from "react-hook-form";
import {Autocomplete} from "@mui/material";
export const ControlledAutocomplete = ({
options,
renderInput,
getOptionLabel,
onChange: ignored,
control,
defaultValue,
name,
renderOption,
viewOnly
}) => {
return (
<Controller
defaultValue={defaultValue}
render={({field: {onChange, ...props}, fieldState: {error}}) => (
<Autocomplete
options={options || []}
getOptionLabel={getOptionLabel}
isOptionEqualToValue={(option, value) => {
if (typeof (value) === 'object') {
return option.id === value.id
} else {
return option.id === value
}
}}
renderOption={renderOption}
disabled={viewOnly}
autoComplete={true}
renderInput={renderInput}
onChange={(e, data) => onChange(data)}
{...props}
/>
)}
control={control}
name={name}
/>
);
}

这很好,但如果没有可用的建议,我想得到用户的输入。基本上,如果自动完成列表中没有建议,我希望从用户那里获得原始输入。自动完成或MUI中的任何其他输入字段是否可能?

我似乎在寻找freeSolo设置:

自动完成材料ui中的自定义输入不起作用

最新更新