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实现的分页函数
Dec 22 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 Javascript
自写简单JS判断是否已经弹出页面
Oct 20 Javascript
autoIMG 基于jquery的图片自适应插件代码
Mar 12 Javascript
Jquery焦点与失去焦点示例应用
Jun 10 Javascript
js获取新浪天气接口的实现代码
Jun 06 Javascript
JS创建对象的写法示例
Nov 04 Javascript
jQuery validate 验证radio实例
Mar 01 Javascript
vue.js 微信支付前端代码分享
Feb 10 Javascript
Vue模板语法中数据绑定的实例代码
May 17 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
Jul 17 Javascript
关于vue中如何监听数组变化
Apr 28 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
PHP 高级课程笔记 面向对象
2009/06/21 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
php获取系统变量方法小结
2015/05/29 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
PHP守护进程实例
2015/03/06 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
Python Collatz序列实现过程解析
2019/10/12 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
Python爬虫获取页面所有URL链接过程详解
2020/06/04 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
《手指教学》反思
2014/02/14 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
养成教育工作总结
2015/08/13 职场文书
python入门之算法学习
2021/04/22 Python
Python如何导出导入所有依赖包详解
2021/06/08 Python
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技