vue基于 input 实现密码的显示与隐藏功能

简介: vue基于 input 实现密码的显示与隐藏功能

前言:

大家都知道,一般情况下,输入框的密码我们是看不到密码的,只有当我们点击查看密码的小图标时,密码才会显现出来,实现起来也非常简单,通过点击图标让input的type属性变化即可。


一、准备图标

这是 element-ui框架中的 Icon 图标

51e63cfc39c14823ac756accd7da31af.png


当然也可以使用下面的两个图片


20200416151922667.png

20200416152056256.png


二、Vue程序界面的展示

网络异常,图片无法展示
|

网络异常,图片无法展示
|


image.png


密码的显示和隐藏


三、代码

讲解(所需)代码(input使用的是element-ui框架中,引入的图标也是,如果想要使用图片的话使用img引入)

使用 Color 的true或false判断显示图标的样式,input框则使用 Type 的样式进行显示,@click=“Show” 点击修改密码的显示或者隐藏

下面有上面图片展示代码


// html代码
<el-input v-model="form.password" :type="Type"></el-input>
// 图标
<i class="el-icon-view" @click="Show" :class="{ icon: Color }"></i>
// img图片
<img
   src="https://ucc.alicdn.com/images/user-upload-01/20200416152056256.png"
   v-if="Color"
 />
 <img
   src="https://ucc.alicdn.com/images/user-upload-01/20200416151922667.png"
   v-if="!Color"
 />
// js代码
Type: "password",
Color: false,
Show() {
      // 点击改变input框的展示方式
      this.Type = this.Type === "password" ? "text" : "password";
      this.Color = !this.Color;
},
// css代码
i {
  color: rgb(221, 216, 216);
  position: absolute;
  top: 30%;
  right: 10px;
}
.icon {
  color: rgb(44, 43, 43);
}

上图展示全部代码(里面使用的是element-ui框架中引入的图标)

<template>
  <div class="login">
    <el-card class="box-card">
      <div slot="header" class="clearfix">
        <span>通用后台管理系统</span>
      </div>
      <!-- rules 正则 -->
      <el-form
        :model="form"
        ref="form"
        label-width="100px"
        class="demo-ruleForm"
      >
        <el-form-item label="用户名" prop="name">
          <el-input
            type="text"
            v-model="form.name"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item label="密码" prop="password">
          <el-input v-model="form.password" :type="Type"></el-input>
          <i class="el-icon-view" @click="Show" :class="{ icon: Color }"></i>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="login('form')">登录</el-button>
        </el-form-item>
      </el-form>
    </el-card>
  </div>
</template>
<script>
export default {
  name: "Login",
  data() {
    return {
      // input框输入的值
      form: {
        // 账号
        name: "",
        // 密码
        password: "",
      },
      // 密码的可见不可见
      Type: "password",
      Color: false,
    };
  },
  methods: {
    // 密码的可见和不可见
    Show() {
      // 点击改变input框的展示方式
      this.Type = this.Type === "password" ? "text" : "password";
      this.Color = !this.Color;
    },
  },
};
</script>
<style lang="scss">
.login {
  width: 100%;
  height: 100%;
  position: absolute;
  background: url("../assets/bg.jpg") center no-repeat;
  background-size: 100% 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  .box-card {
    width: 450px;
    background-color: #65768557;
    color: #fff;
    text-align: center;
    .el-form-item {
      position: relative;
      i {
        color: rgb(221, 216, 216);
        position: absolute;
        top: 30%;
        right: 10px;
      }
      .icon {
        color: rgb(44, 43, 43);
      }
    }
    .el-form-item__label {
      color: #fff;
    }
    // 标题
    .clearfix {
      font-size: 34px;
    }
    // 按钮
    .el-button {
      width: 100%;
    }
  }
}
</style>

总结:

以上就是 vue基于 input 实现密码的显示与隐藏功能,不懂得也可以在评论区里问我或私聊我询问,以后会持续发布一些新的功能,敬请关注。

相关文章
|
7天前
|
移动开发 JavaScript API
Vue Router 核心原理
Vue Router 是 Vue.js 的官方路由管理器,用于实现单页面应用(SPA)的路由功能。其核心原理包括路由配置、监听浏览器事件和组件渲染等。通过定义路径与组件的映射关系,Vue Router 将用户访问的路径与对应的组件关联,支持哈希和历史模式监听 URL 变化,确保页面导航时正确渲染组件。
|
10天前
|
监控 JavaScript 前端开发
ry-vue-flowable-xg:震撼来袭!这款基于 Vue 和 Flowable 的企业级工程项目管理项目,你绝不能错过
基于 Vue 和 Flowable 的企业级工程项目管理平台,免费开源且高度定制化。它覆盖投标管理、进度控制、财务核算等全流程需求,提供流程设计、部署、监控和任务管理等功能,适用于企业办公、生产制造、金融服务等多个场景,助力企业提升效率与竞争力。
62 12
|
7天前
|
JavaScript 前端开发 开发者
Vue中的class和style绑定
在 Vue 中,class 和 style 绑定是基于数据驱动视图的强大功能。通过 class 绑定,可以动态更新元素的 class 属性,支持对象和数组语法,适用于普通元素和组件。style 绑定则允许以对象或数组形式动态设置内联样式,Vue 会根据数据变化自动更新 DOM。
|
7天前
|
JavaScript 前端开发 数据安全/隐私保护
Vue Router 简介
Vue Router 是 Vue.js 官方的路由管理库,用于构建单页面应用(SPA)。它将不同页面映射到对应组件,支持嵌套路由、路由参数和导航守卫等功能,简化复杂前端应用的开发。主要特性包括路由映射、嵌套路由、路由参数、导航守卫和路由懒加载,提升性能和开发效率。安装命令:`npm install vue-router`。
|
28天前
|
JavaScript 安全 API
iframe嵌入页面实现免登录思路(以vue为例)
通过上述步骤,可以在Vue.js项目中通过 `iframe`实现不同应用间的免登录功能。利用Token传递和消息传递机制,可以确保安全、高效地在主应用和子应用间共享登录状态。这种方法在实际项目中具有广泛的应用前景,能够显著提升用户体验。
54 8
|
29天前
|
存储 设计模式 JavaScript
Vue 组件化开发:构建高质量应用的核心
本文深入探讨了 Vue.js 组件化开发的核心概念与最佳实践。
74 1
|
1月前
|
JavaScript 前端开发
【Vue.js】监听器功能(EventListener)的实际应用【合集】
而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。
52 8
|
存储 前端开发 JavaScript
为什么我不再用Vue,改用React?
当我走进现代前端开发行业的时候,我做了一个每位开发人员都要做的决策:选择一个合适的框架。当时正逢 jQuery 被淘汰,前端开发者们不再用它编写难看的、非结构化的老式 JavaScript 程序了。
|
2月前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
147 1
|
3月前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
111 58

热门文章

最新文章