简体   繁体   English

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

[英]React Material UI Autocomplete get uncompleted user input

I'm using Material UI's Autocomplete input with react-hook-form like this:我正在使用带有react-hook-form的 Material UI 的自动完成输入,如下所示:

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}
        />
    );
}

This works great, but I want to get the user input if no suggestion is available.这很好用,但如果没有可用的建议,我想获得用户输入。 Basically if there is no suggestion from the autocomplete list, I want to get the raw input from user.基本上,如果自动完成列表中没有任何建议,我想从用户那里获取原始输入。 Is it somehow possible with Autocomplete or with any other input field in MUI?自动完成或 MUI 中的任何其他输入字段是否有可能?

It seems that I was looking for the freeSolo setting:看来我正在寻找freeSolo设置:

Autocomplete with custom input in material ui not working 在材料 ui 中使用自定义输入自动完成功能不起作用

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM