Vue基于iview实现登录密码的显示与隐藏功能


Posted in Javascript onMarch 06, 2020

iview简介

iView 是一套基于 Vue.js 的开源 UI 组件库,主要服务于 PC 界面的中后台产品。

1.背景

近期,在使用abp开发项目过程中,前端vue输入登录密码时默认隐藏,但是如果用户输错密码需要切换显示跟隐藏。故有此文。

2.实现最终效果

2.1 隐藏密码

Vue基于iview实现登录密码的显示与隐藏功能 

2.2 显示密码

Vue基于iview实现登录密码的显示与隐藏功能 

显示密码需要点击密码框左侧眼睛

3.实现思路

3.1 v-if判断当前密码显示状态

密码输入框跟密码图标最外层用Div标签包住,并且用vue的v-if v-else监听其显示还是隐藏状态。

<div >
 <div v-if="switchPassDisFlag">
 <div v-on:click="SwitchPassDis">
 <i class="ivu-iivu-icon-ios-eye-off-outline ivu-input-iivu-input-icon-normal" style="left:0"></i>
 </div>
 <input v-model="loginModel.passwoautocomplete="off" spellcheck="faltype="password" :placeholde('PasswordPlaceholder')" class="ivu-inivu-input-large" style="padding-left:3padding-right:0"> 
 </div>
 <div v-else>
 <div v-on:click="SwitchPassDis">
 <i class="ivu-icon ivu-icon-ios-eye-outlivu-input-icon ivu-input-icon-normstyle="left:0"></i>
 </div>
 <input v-model="loginModel.passwoautocomplete="off" spellcheck="faltype="text" :placeholde('PasswordPlaceholder')" class="ivu-inivu-input-large" style="padding-left:3padding-right:0"> 
 </div>  
</div>

定义显示状态值switchPassDisFlag默认情况是隐藏。

switchPassDisFlag:boolean=false

这里用得是typescript强类型,所以需要定义成boolean类型,之所以定义成boolean类型是为了下面监听图标点击事件中状态取反方便。

3.2 密码隐藏状态

使用Div标签包住图标跟密码输入框,并且设置闭眼图标,输入框类型为password。

使用图标如下:

选中Iview页面的图标菜单如下图

Vue基于iview实现登录密码的显示与隐藏功能 

选中如下图的两只眼睛即可

Vue基于iview实现登录密码的显示与隐藏功能 

密码隐藏状态下,显示闭眼图标,跟密码类型,同时监听眼睛图标的点击事件,以便切换到睁眼状态(即密码显示状态)。

div v-if="switchPassDisFlag">
 <div v-on:click="SwitchPassDis">
 <i class="ivu-icon ivu-icon-ios-eye-off-outline ivu-input-icon ivu-input-icon-normal" style="left:0"></i> 
 </div>
 <input v-model="loginModel.password" autocomplete="off" spellcheck="false" type="password" :placeholder="L('PasswordPlaceholder')" class="ivu-input ivu-input-large" style="padding-left:32px;padding-right:0"> 
</div>

3.3 密码显示状态

密码显示状态下,显示睁眼图标,跟text类型,同时监听眼睛图标的点击事件,

以便切换到闭眼状态。

<div v-else>
 <div v-on:click="SwitchPassDis">
 <i class="ivu-icon ivu-icon-ios-eye-outline ivu-input-icon ivu-input-icon-normal" style="left:0"></i>
 </div>
 <input v-model="loginModel.password" autocomplete="off" spellcheck="false" type="text" :placeholder="L('PasswordPlaceholder')" class="ivu-input ivu-input-large" style="padding-left:32px;padding-right:0"> 
</div>

3.4 两种眼睛图标(睁眼,闭眼)的监听切换密码显示状态事件

SwitchPassDis()
 {
 this.switchPassDisFlag=!this.switchPassDisFlag; 
 }

4.小结

本文不需要引入图片,方便的利用了iview的睁闭眼图标;

利用了vue中 v-if,v-else直接面向标签(即显示数据)编程;

灵活利用了div标签,因为iview的icon图标是无法监听点击事件的,而本文把icon图标用div标签包住,从而实现了点击监听。

总结

到此这篇关于Vue基于iview实现登录密码的显示与隐藏功能的文章就介绍到这了,更多相关vue 登录密码显示隐藏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
input+select(multiple) 实现下拉框输入值
May 21 Javascript
在父页面调用子页面的JS方法
Sep 29 Javascript
js中this用法实例详解
May 05 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
Aug 21 Javascript
js图片轮播效果实现代码
Apr 18 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
Nov 23 Javascript
js 数据存储和DOM编程
Feb 09 Javascript
Angular2利用组件与指令实现图片轮播组件
Mar 27 Javascript
微信小程序 聊天室简单实现
Apr 19 Javascript
浅谈node的事件机制
Oct 09 Javascript
如何vue使用el-table遍历循环表头和表体数据
Apr 26 Vue.js
输入框跟随文字内容适配宽实现示例
Aug 14 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
Mar 06 #Javascript
javascript中可能用得到的全部的排序算法
Mar 05 #Javascript
js的Object.assign用法示例分析
Mar 05 #Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
Mar 05 #Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
Mar 05 #Javascript
vue中使用vue-print.js实现多页打印
Mar 05 #Javascript
koa2的中间件功能及应用示例
Mar 05 #Javascript
You might like
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
python的pdb调试命令的命令整理及实例
2017/07/12 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
Django如何实现上传图片功能
2019/08/16 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
最新英语专业学生求职信范文
2013/09/21 职场文书
2013年大学生的自我鉴定
2013/10/24 职场文书
工程班组长岗位职责
2013/12/30 职场文书
乡下人家教学反思
2014/02/01 职场文书
国际会计专业求职信
2014/08/04 职场文书
法人代表证明书格式
2014/10/01 职场文书
2015年采购工作总结
2015/04/10 职场文书
责任书范本大全
2015/05/11 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
ConstraintValidator类如何实现自定义注解校验前端传参
2021/06/18 Java/Android
25张裸眼3D图片,带你重温童年的记忆,感受3D的魅力
2022/02/06 杂记