700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 实现Antd中input密码输入框显示为星号

实现Antd中input密码输入框显示为星号

时间:2023-06-15 13:06:16

相关推荐

实现Antd中input密码输入框显示为星号

Antd中input密码输入框显示为星号

问题描述

项目中出现两个密码输入框,一个是登录界面,一个是弹框复核界面。

登录时如果选择浏览器保存登录名及密码,复核时会自动输入浏览器记录的登录名及密码,需求是复核时不自动填入浏览器所记住的登录密码

为何出现这个问题

input输入框type为password时,当浏览器保存一次之后,页面中所有的密码输入框都会被浏览器自动识别并填入。

为何解决这个问题

为了带给用户高度安全性,复核及重新校验密码时都是为了达到此操作是否为用户本人操作。防止登录之后出现他人操作安全级别较高的操作。

例如交易场景的提现等,需再次校验交易密码,以及对数据库有操作需要对操作员复核的场景等。

解决方案

input使用passsword一定会被浏览器自动处理,因此我们用text达到输入之后出现星号的问题。

项目建立在antd组件基础上。

页面输入框

<FormItemlabel="操作员口令"{...formItemLayout}>{getFieldDecorator('password', {{validator: this.pwdChange,}],})(<Input type="text"/>)}</FormItem>

validator是用来校验实时输入框中的值,也可用onChange进行*号设置。

pwdChange = (rule, value, callback) => {let realValue = this.state.realValue;// value是输入框的值,因此需要每次包之前的变*号之前的值保存到下来realValue = realValue+value.charAt(value.length-1)this.setState({realValue:realValue})const length = value.length;let str = ''for(var i =0;i<length;i++){str = str+'*'}this.props.form.setFieldsValue({//将输入框中值显示为为*号password: str,});callback()//validator中必需的回调}

By:Yl

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。