在 freeSolo 模式下使用带有 react-hook-form 的 Material UI 自动完成功能

克里斯托夫·霍曼

我正在尝试在自由独奏模式下使用 Material UI 的自动完成功能作为一种组合输入。用户应该能够通过自动完成选择建议的选项,或者如果没有可用选项,则输入值应用作最终表单值。

问题:

案例一:自动完成工作并建议可以选择和提交的选项,但是当输入具有自定义值时,它不会被提交。

https://codesandbox.io/s/autocomplete-free-solo-case-1-i7kin?file=/demo.js

情况二:提交了从自动完成和自定义输入值中选择的选项,但自动完成下拉列表不再显示建议,而是在选择输入的整个过程中保持打开状态

https://codesandbox.io/s/autocomplete-free-solo-case-2-uk9db?file=/demo.js

我可以接受第二种情况,因为我的自动完成列表只有几个选项,但如果有人有一些提示或解决方案,我会非常感激。

德克尔

您正在使用freeSolo,但您没有添加autoSelect选项,因此您的代码的问题在于,当input失去焦点时 - 值仍然是旧的。这里的原因是您使用的是受控组件,但控制器是 react-hook-form。

您可以在这里有两个选择:

  1. 添加autoSelect,因此即使用户失去对输入的关注 - 当前值也将是自动完成的值。
  2. 要求用户点击enter以保存他当前拥有的值。(您可以使用该clearOnBlur选项)。

这是第一个选项的实现:

<Autocomplete
  id="autocomplete"
  freeSolo
  autoSelect
  options={["option1", "option2", "another option"]}
  renderInput={params => (
    <TextField
      {...params}
      label="freeSolo"
      margin="normal"
      variant="outlined"
    />
  )}
/>

和一个工作示例(基于您的代码和框):https ://codesandbox.io/s/autocomplete-freesolo-with-auto-value-on-blur-e2smn ? file =/ demo.js

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Material UI中使用Component Lab>自动完成功能对SVG图标进行编译错误

使用rails form_tag关闭自动完成功能

material-ui 1.0-如何使用自动完成功能创建芯片输入?

结合使用ngValue和Angular Material自动完成功能?

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

无法使用具有onchange的material-ui自动完成功能中的选择项来获取event.target.value

React Formik Material UI自动完成功能:如何在localStorage的自动完成功能中填充值?

如何将Material-UI自动完成功能与react-virtualized一起使用?

将material-ui中的<TextField />组件与react-hook-form一起使用会显示警告

从自动完成内失去React Material UI打开模式

设置TextField InputProps时Material-UI自动完成功能不起作用

如何使用带有道具和材质UI的react-hook-form

在Material-UI自动完成中使用react-hook-form控制器的正确方法

Material-UI自动完成形式的freeSolo

通过Material UI自动完成功能按名称或ID进行搜索

react-hook-form和material-ui FormControl

React Material UI自动完成功能不适用于Formik

material-ui使用带有差异值的自动完成功能,选项类型

具有material-ui的React-hook-form不显示规则错误

具有material-ui的React-hook-form不会在onBlur()方法中保持值更改

带有 Jquery UI 自动完成功能的传单 GeoJSON

使用 react-hook-form 和 Material-UI 解决问题

使用带有 typescript 和 material-ui 的 react-hook-form 来显示错误消息的正确方法

使用 react-hook-form 更改不受控制的值后,Material-UI TextField 状态不正确

使用 material-ui 自动完成功能搜索多个域

React Hook Form V7 - Material UI 5 自动完成:未验证延迟加载的值

React-hook-form with Material-ui textfield without autoFocus defaultValue 在表单提交过程中消失了

如何在 react-hook-from 中使用 material-ui 自动完成功能

react hook form + material ui:日期选择器未获取初始日期