reactjs - Chrome,Edge - 禁用字段的自动填充/自动完成
问题描述
我有一个使用 Material UI 构建的 ReactJS 应用程序。
目标浏览器是 Chrome 和 Microsoft Edge,都是最新版本和两个最新版本(总共 3 个版本)。
我想要达到的目标:
禁用文本输入字段的自动完成和自动填充。
我已经搜索了很长时间,但找不到有效的解决方案。
到目前为止我已经尝试过:
- 自动完成={“关闭”}
- 自动完成={“假”}
- autoComplete={"xyz"} 所以使用自定义值自动完成
- autoComplete="new-password"> 但它在 Edge 中不起作用
- 一个解决方案的实现,在开始时为每个输入字段添加 HTML 只读属性,在焦点上将其移除并再次将其添加到 texfield 的 onBlur 上。这不起作用,而且会导致无法再使用键盘上的制表符移动到另一个文本输入的缺陷。
<form>
将每个字段包装在一个元素中对我来说不是解决方案。
很高兴看到解决此问题的方法。
解决方案
您可以在此处阅读有关自动完成的更多详细信息。问题是 autoComplete 是 Material Ui 属性,而 autocomplete 是原生 html 属性。
可能的解决方案是在您拥有更多控制权的情况下制作不使用 Material Ui 的自定义组件。这样,我敢肯定,您将设法禁用跨浏览器自动完成功能。
推荐阅读
- java - 在不更改代码的情况下引用不同的表
- php - 如果未保存在 PHP 中的数据库中,如何从我的上传目录中删除所有未使用的图像
- c# - 分组列表并在订购后选择所需的项目
- javascript - 如何添加两个 CountUp 元素
- kotlin - Android Room + RxJava - 如何从测试中进行多次插入
- vba - 使用多个条件查找价值
- python - 当一个包含 ids 并且第二个包含与该 id 关联的名称时,需要帮助来合并两个 sql 表
- angular5 - Angular 5 应用程序有时会在浏览器中加载旧版本,我在构建产品时进行了哈希处理,如何从服务器加载 Angular 5 应用程序加载?
- java - 在我的 Java 应用程序中记录配置
- javascript - 如何使此悬停字幕正常工作?