我正在使用具有一些自定义异步行为的自动完成组件。您可以在文档中找到的标准示例与我的标准示例之间的区别在于,该示例示例已连接到分页的api,该分页的api在每次去抖动的inputValue更改时都会以新列表进行响应。
假设已经选择了一个选项,例如OptionOne(可能是默认选项,但这不是必需的)。我单击自动完成组件以选择其他内容->出现带有分页结果的下拉列表(分页列表开头有4个选项,例如OptionOne,OptionTwo,OptionThree,OptionFour)->而不是从列表中选择内容m开始输入输入,例如“ OptionTwo”->,只要当前选择的选项与输入中的单词(在这种情况下为单词“ Option”)之间有共同的部分,一切都很好(因为它仍然出现在(下拉列表)->输入值更具体(“ OptionT”)并且当前选择的选项没有共同之处时,我会收到有关无效输入值的警告。
Material-UI: The value provided to Autocomplete is invalid.
None of the options match with {"id":1,"name":"OptionOne"}.
我当然使用的是“ getOptionSelected”,但由于某种原因,它无法按预期工作。我尝试了相同的操作,但没有使用去抖动的输入值(用于限制api调用),但是没有任何变化。
const getOptionSelected = ( option: BasicOption, value: BasicOption, ): boolean => { return option.name === value.name; };
这是我的代码-我很想在codesandbox上使用它,但是我找不到带有分页和查询功能的免费api
https://codesandbox.io/s/holy-surf-o2czl?file=/src/Container.jsx