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 相关文章推荐
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
Mar 03 Javascript
js 代码优化点滴记录
Feb 19 Javascript
浅析用prototype定义自己的方法
Nov 14 Javascript
删除节点的jquery代码
Jan 13 Javascript
javascript中JSON对象与JSON字符串相互转换实例
Jul 11 Javascript
JavaScript制作简单的日历效果
Mar 10 Javascript
js实现PC端根据IP定位当前城市地理位置
Feb 22 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 jQuery
vue实现键盘输入支付密码功能
Aug 18 Javascript
通过vue-cli3构建一个SSR应用程序的方法
Sep 13 Javascript
小程序获取周围IBeacon设备的方法
Oct 31 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
Jul 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加密解密函数分享
2014/06/05 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
python通过yield实现数组全排列的方法
2015/03/18 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
Python基础知识点 初识Python.md
2019/05/14 Python
基于python3的socket聊天编程
2020/02/17 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
企业为何需要商业计划书
2013/12/26 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
应聘教师求职信
2014/07/19 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
投诉书范文
2015/07/02 职场文书
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python