当前位置:首页 > VUE

vue密码显示隐藏实现

2026-02-24 11:00:06VUE

实现密码显示/隐藏功能

在Vue中实现密码显示与隐藏功能,可以通过结合v-modelv-on指令来控制输入框的类型属性。

模板部分代码示例:

<template>
  <div class="password-input">
    <input 
      :type="showPassword ? 'text' : 'password'" 
      v-model="password" 
      placeholder="请输入密码"
    >
    <button @click="togglePassword">
      {{ showPassword ? '隐藏' : '显示' }}
    </button>
  </div>
</template>

脚本部分代码示例:

<script>
export default {
  data() {
    return {
      password: '',
      showPassword: false
    }
  },
  methods: {
    togglePassword() {
      this.showPassword = !this.showPassword
    }
  }
}
</script>

使用图标代替文本按钮

可以使用字体图标库(如Font Awesome)来提升用户体验。

安装Font Awesome:

vue密码显示隐藏实现

npm install @fortawesome/fontawesome-free

使用图标示例:

<template>
  <div class="password-input">
    <input 
      :type="showPassword ? 'text' : 'password'" 
      v-model="password"
    >
    <i 
      class="fas" 
      :class="showPassword ? 'fa-eye-slash' : 'fa-eye'" 
      @click="togglePassword"
    ></i>
  </div>
</template>

添加样式增强视觉效果

为密码输入框添加基本样式可以改善外观。

样式示例:

vue密码显示隐藏实现

<style scoped>
.password-input {
  position: relative;
  display: inline-block;
}

.password-input input {
  padding: 8px;
  padding-right: 30px;
}

.password-input i {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
</style>

使用第三方组件库

如果需要快速实现,可以使用现成的UI组件库如Element UI或Vuetify。

Element UI示例:

<template>
  <el-input
    v-model="password"
    :type="showPassword ? 'text' : 'password'"
    placeholder="请输入密码"
  >
    <template #suffix>
      <i 
        class="el-icon-view" 
        @click="showPassword = !showPassword"
      ></i>
    </template>
  </el-input>
</template>

表单验证集成

可以结合Vuelidate或VeeValidate进行表单验证。

Vuelidate集成示例:

import { required, minLength } from 'vuelidate/lib/validators'

export default {
  data() {
    return {
      password: '',
      showPassword: false
    }
  },
  validations: {
    password: {
      required,
      minLength: minLength(6)
    }
  }
}

标签: 密码vue
分享给朋友:

相关文章

vue实现异步

vue实现异步

Vue 实现异步操作的常见方法 Vue 提供了多种方式来处理异步操作,包括数据获取、事件处理等场景。 使用 async/await 在 Vue 方法中可以直接使用 async/await 语法处理异…

vue  实现tab

vue 实现tab

实现 Tab 切换功能 在 Vue 中实现 Tab 切换功能可以通过动态组件或条件渲染完成。以下是两种常见方法: 使用 v-if 或 v-show 实现条件渲染 通过绑定 currentTab 变量…

vue nexttick实现

vue nexttick实现

Vue 中 nextTick 的实现原理 Vue 的 nextTick 是一个用于在下次 DOM 更新循环结束之后执行延迟回调的方法。它的核心实现依赖于 JavaScript 的事件循环机制。 基本…

vue实现 弹窗

vue实现 弹窗

Vue 实现弹窗的基本方法 使用 Vue 实现弹窗可以通过多种方式,包括组件化、指令、插件等。以下是几种常见的实现方法。 组件化实现弹窗 创建一个独立的弹窗组件,通过 props 控制显示与隐藏。…

vue实现watch

vue实现watch

监听数据变化 在Vue中,watch用于监听响应式数据的变化并执行回调函数。基本语法如下: watch: { propertyName(newValue, oldValue) { //…

实现vue message

实现vue message

实现 Vue 消息提示组件 创建 Message 组件 在 src/components 目录下创建 Message.vue 文件,内容如下: <template> <tran…