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

 更新时间:2022年01月08日 15:39:47   作者:水星记_  
这篇文章主要介绍了vue基于input实现密码的显示与隐藏功能,文末给大家介绍了vue 如何实现切换密码的显示与隐藏效果,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

前言

大家都知道,一般情况下,输入框的密码我们是看不到密码的,只有当我们点击查看密码的小图标时,密码才会显现出来,实现起来也非常简单,通过点击图标让input的type属性变化即可。但是隐藏的密码一般是 "•" 展示,那我们想要用 "*" 或者其他的符号显示该怎么办呢,今天就教大家用其他的符号代替 "•" 在密码隐藏时展示。

实现效果

实现思路

1.首先我们要先在data中定义一个变量用来控制小图标的显示与隐藏;
2.在页面中循环遍历data中的privates(密钥内容),拿到字符串的长度length;
3.拿到密钥的长度后,先把它分割成字符串数组,用于后面插入;
4.然后通过splice方法插入到字符串数组中,splice有三个参数,第一个参数是必要的,是插入元素的位置,第二个参数的意思是要插入的元素数量,第三个参数的意思是要插入的元素是什么;
5.最后我们将字符串数组通过join方法转换成字符串即可。

话不多说,直接上实例代码

<template>
    <div class="private">
        <!--// 显示内容: ==0时显示*,==1时显示密钥内容 -->
        <span v-if="codeType == 1">{{privates}}</span>
        <span class="special" v-if="codeType == 0">{{star}}</span>
        <!--// 小图标: ==0时展示隐藏图标,==1时展示显示图标-->
        <span v-if="codeType == 1"><img @click="reveal" src="https://s4.ax1x.com/2022/01/07/79E7dg.png"></span>
        <span v-if="codeType == 0"><img @click="conceal" src="https://s4.ax1x.com/2022/01/07/79EOWn.png"></span>
    </div>
</template>
<script>
    export default {
        data() {
            return {
                privates: "123456789123456789123456789", //密钥内容
                codeType: 0, //控制密钥显示隐藏 等于1时显示,等于0时隐藏
                star: "", //要插入的星星*
            }
        },
        mounted() {
            // 循环遍历拿到密钥的长度
            for (var i = 0; i < this.privates.length; i++) {
                let star = this.star.split('') //分割成字符串数组
                star.splice(this.privates.length, this.privates.length, '*') //添加到数组
                this.star = star.join('') //将数组转换为字符串
            }
        },
        methods: {
            //显示事件
            reveal() {
                this.codeType = 0
            },
            //隐藏事件
            conceal() {
                this.codeType = 1
            },
        }
    }
</script>

<style scoped>
    .private {
        display: flex;
        align-items: center;
    }

    .private img {
        width: 20px;
        height: 20px;
        vertical-align: middle;
        cursor: pointer;
        margin-left: 9px;
    }

    .special {
        position: relative;
        top: 4px;
    }
</style>

至此这个小功能就实现啦!

补充:vue 如何实现切换密码的显示与隐藏

一、vue 实现切换密码的显示与隐藏

1.在 data 中定义 showPwd,默认为 false,用来控制密码的显示与隐藏。定义 pwd,默认为空,是密码的值,代码如下所示:

data() {
  return {
    showPwd: false,
    pwd: ''
  }
}

2.在密码的显示与隐藏中,有两种输入框,一个是类型为text的文本框用来展示密码,另一个是类型为password的密码框用来隐藏密码。由于showPwd的默认值为false,所示设置text的框为v-if,默认显示密码,而设置password的框为 v-else,默认不显示密码,同时也进行v-model的双向数据绑定,绑定pwd的值,代码如下所示:

<input type="text" maxlength="8" placeholder="密码" v-if="showPwd" v-model="pwd">
<input type="password" maxlength="8" placeholder="密码" v-else v-model="pwd">

3.在旁边控制的按钮上,进行对象样式绑定,显示不同的样式,同时绑定点击事件,将 !showPwd 的值赋值给 showPwd。在下面的显示中,通过 showPwd 值的不同显示不同的文本,代码如下所示:

<div class="switch_button off" :class="showPwd?'on' : 'off'" @click="showPwd=!showPwd">
    <div class="switch_circle" :class="{right: showPwd}"></div>
    <span class="switch_text">{{ showPwd ? 'abc' : '...'}}</span>
</div>

到此这篇关于vue基于input实现密码的显示与隐藏功能的文章就介绍到这了,更多相关vue密码显示与隐藏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Hooks对于Vue作用意义详解

    Hooks对于Vue作用意义详解

    这篇文章主要为大家介绍了Hooks对于Vue作用意义详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)

    Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)

    这篇文章主要介绍了Vue实现点击当前元素以外的地方隐藏当前元素,文中给大家扩展了vue实现点击其他地方隐藏div的三种方法,需要的朋友可以参考下
    2019-12-12
  • vue项目中使用qrcodesjs2生成二维码简单示例

    vue项目中使用qrcodesjs2生成二维码简单示例

    最近项目中需生成二维码,发现了很好用的插件qrcodesjs2,所以下面这篇文章主要给大家介绍了关于vue项目中使用qrcodesjs2生成二维码的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 解决vue-router 嵌套路由没反应的问题

    解决vue-router 嵌套路由没反应的问题

    这篇文章主要介绍了解决vue-router 嵌套路由没反应的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • vue中的mvvm模式讲解

    vue中的mvvm模式讲解

    今天小编就为大家分享一篇关于vue中的mvvm模式讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Vue组件实现景深卡片轮播示例

    Vue组件实现景深卡片轮播示例

    这篇文章主要为大家介绍了Vue组件实现景深卡片轮播示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 浅聊一下Vue3中的component组件

    浅聊一下Vue3中的component组件

    开发过程中我们会经常遇到一些复杂的页面,而这些页面大部分由一个个小部分组合起来的,而且不同页面中可能有些部分是一样的,所以我们通常会将这些部分封装成组件,在Vue中,我们可以使用components组件(模板)来实现,本文就来详细的说一说Vue3中的component组件
    2023-08-08
  • Vue实现本地购物车功能

    Vue实现本地购物车功能

    这篇文章主要为大家详细介绍了Vue实现本地购物车功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • vue组件内部引入外部js文件的方法

    vue组件内部引入外部js文件的方法

    这篇文章主要介绍了vue组件内部引入外部js文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • el-menu修改item颜色的实现

    el-menu修改item颜色的实现

    本文主要介绍了el-menu修改item颜色的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04

最新评论