Vue 2 + Element UI 实现密码显示、隐藏切换功能

一、使用 Element UI 的 show-password 属性

1、Element UI 的 <el-input> 组件提供了一个方便的 show-password 属性。启用后,它会自动添加一个切换密码显示、隐藏的按钮。

2、代码

javascript 复制代码
<template>
  <el-form-item prop="password">
    <el-input
      v-model="password"
      placeholder="请输入密码"
      type="password"
      show-password
    >
    </el-input>
  </el-form-item>
</template>

3、优点 :实现简单,无需额外代码。缺点:不支持自定义图标。

二、自定义后缀图标实现密码显示/隐藏

1、如果你想要使用自己的图标或实现更多自定义功能,可以通过 插槽(slot) 的方式来自定义后缀图标,并通过绑定事件来切换密码显示状态。

2、代码

javascript 复制代码
<el-input style="width: 315px;" :type="isShowPassword ? 'text' : 'password'" placeholder="请输入密码" v-model="password">
  <i slot="suffix" :class="isShowPassword ? 'el-icon-view' : 'el-icon-lock'" @click="isShowPassword = !isShowPassword"></i>
</el-input>

3、实现说明

(1)自定义插槽:使用 slot="suffix" 来自定义输入框的后缀区域。

(2)图标切换逻辑:定义一个布尔值变量 isShowPassword,用于跟踪密码的显示状态。绑定 @click 事件到后缀图标上,点击后切换 isShowPassword 的状态。

(3)输入框类型切换:通过 :type="isShowPassword ? 'text' : 'password'" 动态改变输入框的类型。

4、效果图

相关推荐
假如让我当三天老蒯1 天前
Options API(选项式 API) 和 Composition API(组合式 API)
前端·vue.js·面试
秃头网友小李4 天前
前端难点:keep-alive 缓存什么?RouterView 的 key 为什么要带 scopeId?
前端·vue.js
徐小夕4 天前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
奋斗吧程序媛5 天前
补充一个小知识点:有关@click.native
前端·vue.js
laowangpython5 天前
Photoshop 2025 下载安装全攻略
其他·ui·photoshop
英勇无比的消炎药5 天前
一行命令背后:TinyRobot CLI 如何重构 AI 对话接入的效率范式
vue.js·aigc
jay神5 天前
基于 FastAPI + Vue 的宠物领养管理系统
前端·vue.js·python·毕业设计·fastapi·宠物
一杯奶茶¥5 天前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
风华圆舞5 天前
Flutter + 鸿蒙 Intents Kit:页面直达能力的完整接入方案
flutter·ui·华为·harmonyos
英勇无比的消炎药5 天前
一站式搞定品牌风格:TinyRobot 主题定制从入门到精通
vue.js