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 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
Aug 15 Javascript
node.js开机自启动脚本文件
Dec 24 Javascript
JS中mouseover和mouseout多次触发问题如何解决
Jun 06 Javascript
js模拟微博发布消息
Feb 23 Javascript
JS实现带导航城市列表以及输入搜索功能
Jan 04 Javascript
element ui 表格动态列显示空白bug 修复方法
Sep 04 Javascript
使用JS判断页面是首次被加载还是刷新
May 26 Javascript
JavaScript实现指定数量的并发限制的示例代码
Mar 10 Javascript
Json实现传值到后台代码实例
Jun 30 Javascript
javascript自定义加载loading效果
Sep 15 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中++i 与 i++ 的区别
2012/08/08 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
javascript innerHTML使用分析
2010/12/03 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
前端性能优化建议
2020/09/17 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
详细介绍Python函数中的默认参数
2015/03/30 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Numpy之文件存取的示例代码
2018/08/03 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
NumPy中的维度Axis详解
2019/11/26 Python
护理专业毕业生自我鉴定
2013/10/08 职场文书
四年的个人工作自我评价
2013/12/10 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
教师读书活动总结
2014/05/07 职场文书
化学教育专业自荐信
2014/07/04 职场文书
党员倡议书
2015/01/19 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书