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、效果图

相关推荐
QQ676580089 分钟前
基于 PyTorch 的 VGG16 深度学习人脸识别检测系统的实现+ui界面
人工智能·pytorch·python·深度学习·ui·人脸识别
哈贝#1 小时前
vue和uniapp聊天页面右侧滚动条自动到底部
javascript·vue.js·uni-app
Lazy_zheng1 小时前
🚀 前端开发福音:用 json-server 快速搭建本地 Mock 数据服务
前端·javascript·vue.js
林太白1 小时前
前端必会之Nuxt.js
前端·javascript·vue.js
晓晓莺歌2 小时前
vue-router路由问题:可以通过$router.push()跳转,但刷新后又变成空白页面
前端·javascript·vue.js
前端大卫2 小时前
vxe-table 在项目中的实践!【附源码】
前端·vue.js·前端工程化
前端无涯2 小时前
Vue---vue使用AOS(滚动动画)库
前端·javascript·vue.js
CUIYD_19892 小时前
Vue 中组件命名与引用
javascript·vue.js·node.js
月下点灯3 小时前
使用Set集合新特性,快速实现一个商品SKU(单品)规格选择器
前端·javascript·vue.js
pop_xiaoli5 小时前
UI学习—cell的复用和自定义cell
学习·ui·ios