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 相关文章推荐
学习ExtJS Panel常用方法
Oct 07 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
Jan 11 Javascript
js实现遮罩层弹出框的方法
Jan 15 Javascript
Jquery 实现图片轮换
Jan 28 Javascript
Javascript的表单验证-初识正则表达式
Mar 18 Javascript
原生js封装自定义滚动条
Mar 24 Javascript
谈谈VUE种methods watch和compute的区别和联系
Aug 01 Javascript
详解JS中的this、apply、call、bind(经典面试题)
Sep 19 Javascript
react.js组件实现拖拽复制和可排序的示例代码
Aug 20 Javascript
vue组件间的参数传递实例详解
Apr 26 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
使用RxJS更优雅地进行定时请求详析
Jun 02 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获取文件名后缀
2013/06/09 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
js实现继承的5种方式
2015/12/01 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
JavaScript中为事件指定处理程序的五种方式分析
2018/07/27 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
Pycharm安装Qt Design快捷工具的详细教程
2020/11/18 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
大学生毕业的自我评价分享
2014/01/02 职场文书
上班看电影检讨书
2014/02/12 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
自我推荐信范文
2014/05/09 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis