如何禁用React项目中<input>输入框的最近输入值下拉提示功能
你遇到的输入框下拉历史提示是浏览器自带的自动完成(Autocomplete) 特性,可通过代码层面直接禁用,具体方案如下:
- 基础禁用方案:给input标签添加
autoComplete属性(React中需使用驼峰命名,不可用原生的小写autocomplete),值设为off即可:
<input type="text" autoComplete="off" />
- 密码类输入框特殊处理:部分浏览器对密码输入框的
off值兼容不好,可将属性值设为new-password即可完全禁用填充提示:
<input type="password" autoComplete="new-password" />
- 全表单统一禁用:如果是整个表单内所有输入框都不需要自动提示,可直接在
<form>标签上添加autoComplete="off",无需逐个给input加属性:
<form autoComplete="off"> <input type="text" /> <input type="password" /> </form>
- 极端兼容方案:如果以上方案都不生效,可给
autoComplete设为任意浏览器无法识别的自定义值,也能达到禁用效果:
<input type="text" autoComplete="disable-fill-xxx" />
补充说明:部分老旧浏览器还会匹配input的name属性判断填充内容,如果上述方案失效可同时将name属性设为无特殊语义的随机字符串即可。
内容的提问来源于stack exchange,提问作者mmarion
相关产品推荐
相关产品推荐

