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 相关文章推荐
探讨JQUERY JSON的反序列化类 using问题的解决方法
Dec 19 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
原生javascript实现隔行换色
Jan 04 Javascript
在Node.js应用中使用Redis的方法简介
Jun 24 Javascript
Bootstrap每天必学之按钮
Nov 26 Javascript
JS使用单链表统计英语单词出现次数
Jun 16 Javascript
Vue2组件tree实现无限级树形菜单
Mar 29 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
js实现GIF动图分解成多帧图片上传
Oct 24 Javascript
浅谈vue项目,访问路径#号的问题
Aug 14 Javascript
如何实现小程序与小程序之间的跳转
Nov 04 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
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
Python class的继承方法代码实例
2020/02/14 Python
Django用户身份验证完成示例代码
2020/04/03 Python
如何写出好的Java代码
2014/04/25 面试题
冰淇淋店创业计划书范文
2013/12/27 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
公司开会通知
2015/04/20 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
2016情人节宣传语
2015/07/14 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技