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显示随机图像或引用
Apr 21 Javascript
jquery 回车事件实现代码
Aug 23 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
Mar 29 Javascript
location.hash保存页面状态的技巧
Apr 28 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
Angular ui.bootstrap.pagination分页
Jan 20 Javascript
vue组件通信传值操作示例
Jan 08 Javascript
使用koa2创建web项目的方法步骤
Mar 12 Javascript
JS前端广告拦截实现原理解析
Feb 17 Javascript
JS如何在数组指定位置插入元素
Mar 10 Javascript
Vue实现点击当前行变色
Dec 14 Vue.js
JavaScript实现九宫格拖拽效果
Jun 28 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
谈谈PHP的输入输出流
2007/02/14 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
vue实现搜索功能
2019/05/28 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
PyQt5每天必学之组合框
2018/04/20 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Python 如何批量更新已安装的库
2020/05/26 Python
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
4s店市场专员岗位职责
2014/04/09 职场文书
公开承诺书格式
2014/05/21 职场文书
销售团队激励口号
2014/06/06 职场文书
五一促销活动总结
2014/07/01 职场文书
数学教育专业求职信
2014/07/22 职场文书
报到证办理个人委托书
2014/10/06 职场文书
2015年物业管理工作总结
2015/04/23 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python