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 相关文章推荐
php对mongodb的扩展(小试牛刀)
Nov 11 Javascript
用javascript关闭本窗口不弹出询问框的方法
Sep 12 Javascript
javascript事件模型实例分析
Jan 30 Javascript
javascript实现简单的省市区三级联动
May 14 Javascript
JS实现支持Ajax验证的表单插件
Mar 24 Javascript
微信小程序中单位rpx和rem的使用
Dec 06 Javascript
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
JS中‘hello’与new String(‘hello’)引出的问题详解
Aug 14 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
May 06 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 Javascript
javascript 设计模式之享元模式原理与应用详解
Apr 08 Javascript
使用React代码动态生成栅格布局的方法
May 24 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和ACCESS写聊天室(十)
2006/10/09 PHP
php 表单验证实现代码
2009/03/10 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
php扩展开发入门demo示例
2019/09/23 PHP
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
js Function类型
2011/12/04 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
python paramiko实现ssh远程访问的方法
2013/12/03 Python
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
关于numpy数组轴的使用详解
2019/12/05 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
内刊编辑求职自荐书范文
2014/02/19 职场文书
喝酒检查书范文
2014/02/23 职场文书
会计专业导师推荐信
2014/03/08 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers