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

前言:

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


一、准备图标

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

点击跳转至 element-ui 框架中的 lcon 图标页:https://element.eleme.cn/#/zh-CN/component/icon


在这里插入图片描述


当然也可以使用下面的两个图片
在这里插入图片描述
在这里插入图片描述


二、Vue程序界面的展示

在这里插入图片描述
在这里插入图片描述


密码的显示和隐藏


三、代码

讲解(所需)代码(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://img-blog.csdnimg.cn/20200416152056256.png"
   v-if="Color"
 />
 <img
   src="https://img-blog.csdnimg.cn/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 实现密码的显示与隐藏功能,不懂得也可以在评论区里问我或私聊我询问,以后会持续发布一些新的功能,敬请关注。
我的其他文章:https://blog.csdn.net/weixin_62897746?type=blog

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue中使用element-ui来实现密码显示隐藏图标变化可以通过以下步骤实现。 首先,在Vue组件内引入element-ui库,并在相关页面中引入所需的组件。比如使用`el-input`组件来实现输入框,使用`el-icon`组件来显示图标。 接下来,在data中定义一个`passwordVisible`变量,默认值为false,用来控制密码框中的图标显示。同时,设定一个初始密码的值。 然后,在模板中使用`el-input`组件来创建一个密码输入框,通过`v-model`指令绑定一个名为`password`的data属性,用于保存输入的密码。 在密码输入框的右侧,使用`el-icon`组件来显示图标,通过`v-show`指令控制图标的显示隐藏。当密码可见时,显示一个代表隐藏的图标,例如"el-icon-view";当密码不可见时,显示一个代表显示的图标,例如"el-icon-view-show"。 接下来,为图标绑定一个点击事件,当点击图标时,修改`passwordVisible`变量的值。如果`passwordVisible`为false,则表示密码不可见,这时将其改为true;如果`passwordVisible`为true,则表示密码可见,这时将其改为false。 同时,通过`v-bind:class`指令给图标绑定一个class样式,根据`passwordVisible`的值来改变图标的样式。例如,当`passwordVisible`为false时,给图标加上一个加密的样式,表示密码不可见;当`passwordVisible`为true时,给图标加上一个解密的样式,表示密码可见。 最后,根据`passwordVisible`的值,通过`v-if`指令判断密码框中显示的内容。若`passwordVisible`为false,则显示密文密码,保护用户的隐私;若`passwordVisible`为true,则显示明文密码,方便用户查看。 通过以上的步骤,就可以实现Vue中使用element-ui来实现密码显示隐藏图标变化的效果。用户点击图标,可以方便地切换密码的可见与隐藏状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风 与我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值