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 相关文章推荐
JavaScript 权威指南(第四版) 读书笔记
Aug 11 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
Aug 03 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
Jul 02 Javascript
JS实现评价的星星功能
Aug 20 Javascript
vue中使用sessionStorage记住密码功能
Jul 24 Javascript
vue使用echarts图表的详细方法
Oct 22 Javascript
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
js this 绑定机制深入详解
Apr 30 Javascript
基于javascript处理nginx请求过程详解
Jul 07 Javascript
javascript利用canvas实现鼠标拖拽功能
Jul 23 Javascript
vant时间控件使用方法详解
Dec 24 Javascript
vue使用Google Recaptcha验证的实现示例
Aug 23 Vue.js
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使用者状态管理功能的应用
2006/10/09 PHP
社区(php&amp;&amp;mysql)五
2006/10/09 PHP
探讨php中header的用法详解
2013/06/07 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
jQuery 事件队列调整方法
2009/09/18 Javascript
JQuery对class属性的操作实现按钮开关效果
2013/10/11 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
Vue的data、computed、watch源码浅谈
2020/04/04 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
Python实现从url中提取域名的几种方法
2014/09/26 Python
Python中is与==判断的区别
2017/03/28 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
基于Python解密仿射密码
2019/10/21 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
会计大学生职业生涯规划书范文
2014/01/13 职场文书
咖啡店自主创业商业计划书
2014/01/22 职场文书
大学旷课检讨书
2014/01/28 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
2015年妇女工作总结
2015/05/14 职场文书
立案决定书范文
2015/06/24 职场文书
电台广播稿范文
2015/08/19 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
Python中re模块的元字符使用小结
2022/04/07 Python
Fluentd搭建日志收集服务
2022/09/23 Servers