首页 > 代码库 > React中禁止chrome填充密码表单
React中禁止chrome填充密码表单
当 input 的 type="password" 时,chrome浏览器会以 type="password" 为标识记住输入的用户名和密码,
如果chrome用户选择记住密码,chrome会把输入过的用户名、密码填充到表单中;
在React中,以下2中方法都不能解决问题:
1.在表单前增加2个input并隐藏
<input type="text" style="display:none"/> <input type="password" style="display:none"/>
2.添加 autocomplete="off" 属性
<input type="password" autocomplete="off"/>
React不推崇Dom操作,通过state切换type的值来阻止浏览器的填充行为。
// 初始化state,组建初次渲染时type="text",浏览器不会对表单做填充行为
constructor(props) { super(props); this.state = { type: ‘text‘ }; } ... // 点击表单后,改变type changeType = () => { this.setState({ type: ‘password‘ }); } ... render() { return (
...
<Input type={this.state.type} onClick={this.changeType}/>
... ) }
React中禁止chrome填充密码表单
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。