在React-Admin AutocompleteInput中是否有类似于Material-UI Autocomplete freeSolo的东西

我正在使用React-Admin,并且我知道React-Admin正在使用Material-UI,但是找不到类似Material-UI Autocomplete freeSolo的东西。实际上,我追求的是一种AutocompleteInput,不会强迫我选择元素。 freeSolo就是这样工作的。

我只是想确保如果React-Admin中不存在此元素,那么我将创建一个新元素。

目前,我知道我可以使用以下自定义选项定义AutocompleteInput:

const choices = [
  { id: 123,first_name: 'Leo',last_name: 'Tolstoi' },{ id: 456,first_name: 'Jane',last_name: 'Austen' },];
const optionRenderer = choice => `${choice.first_name} ${choice.last_name}`;
<AutocompleteInput choices={choices} optionText={optionRenderer} />

但是由于选择太多,我不得不从我的RESTful Web服务中获取数据。它还不允许我将自定义文本(列表中不存在的文本)放入文本输入中。我的意思是在自动完成建议消失后,文本输入被清除了。

我尝试使用:

import Autocomplete from '@material-ui/lab/Autocomplete';

,但“自动完成”不存在。 @material-ui/lab仅包含AutocompleteArrayInputAutocompleteInput。我还安装了@material-ui/core,但不允许我使用它。

wujianlin1984 回答:在React-Admin AutocompleteInput中是否有类似于Material-UI Autocomplete freeSolo的东西

AutoComplete不是@material-ui/core的一部分,它位于@material-ui/lab中,您需要安装它。

您还需要确保您拥有@material-ui/lab的适当版本

此解决方案因要安装的软件包管理器而异。

如果使用纱线: 您可以升级到该软件包的最新版本(那里会有一些重大更改)

yarn upgrade @material-ui/lab --latest

如果您使用的是npm:

npm install @material-ui/lab@latest

请确保您了解lab的用法,在某些情况下,此功能将移至核心位置,您需要对其进行调整。您可能需要使用latest标志来强制程序包管理器更新并忽略重大更改。

,

您不能使用AutocompleteInput来执行此操作,因为它是仅限于过滤的组件。

遵循documentation

  

提示:AutocompleteInput是一个无状态组件,因此它仅允许过滤选项列表,而不能扩展。如果需要基于访存调用的结果填充选择列表(并且如果不能满足您的需要),则必须基于material-ui组件编写自己的Input组件。

本文链接:https://www.f2er.com/3167888.html

大家都在问