vue基于input實(shí)現(xiàn)密碼的顯示與隱藏功能
前言
大家都知道,一般情況下,輸入框的密碼我們是看不到密碼的,只有當(dāng)我們點(diǎn)擊查看密碼的小圖標(biāo)時(shí),密碼才會(huì)顯現(xiàn)出來(lái),實(shí)現(xiàn)起來(lái)也非常簡(jiǎn)單,通過(guò)點(diǎn)擊圖標(biāo)讓input的type屬性變化即可。但是隱藏的密碼一般是
"•"展示,那我們想要用"*"或者其他的符號(hào)顯示該怎么辦呢,今天就教大家用其他的符號(hào)代替"•"在密碼隱藏時(shí)展示。
實(shí)現(xiàn)效果

實(shí)現(xiàn)思路
1.首先我們要先在data中定義一個(gè)變量用來(lái)控制小圖標(biāo)的顯示與隱藏;
2.在頁(yè)面中循環(huán)遍歷data中的privates(密鑰內(nèi)容),拿到字符串的長(zhǎng)度length;
3.拿到密鑰的長(zhǎng)度后,先把它分割成字符串?dāng)?shù)組,用于后面插入;
4.然后通過(guò)splice方法插入到字符串?dāng)?shù)組中,splice有三個(gè)參數(shù),第一個(gè)參數(shù)是必要的,是插入元素的位置,第二個(gè)參數(shù)的意思是要插入的元素?cái)?shù)量,第三個(gè)參數(shù)的意思是要插入的元素是什么;
5.最后我們將字符串?dāng)?shù)組通過(guò)join方法轉(zhuǎn)換成字符串即可。
話不多說(shuō),直接上實(shí)例代碼
<template>
<div class="private">
<!--// 顯示內(nèi)容: ==0時(shí)顯示*,==1時(shí)顯示密鑰內(nèi)容 -->
<span v-if="codeType == 1">{{privates}}</span>
<span class="special" v-if="codeType == 0">{{star}}</span>
<!--// 小圖標(biāo): ==0時(shí)展示隱藏圖標(biāo),==1時(shí)展示顯示圖標(biāo)-->
<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", //密鑰內(nèi)容
codeType: 0, //控制密鑰顯示隱藏 等于1時(shí)顯示,等于0時(shí)隱藏
star: "", //要插入的星星*
}
},
mounted() {
// 循環(huán)遍歷拿到密鑰的長(zhǎng)度
for (var i = 0; i < this.privates.length; i++) {
let star = this.star.split('') //分割成字符串?dāng)?shù)組
star.splice(this.privates.length, this.privates.length, '*') //添加到數(shù)組
this.star = star.join('') //將數(shù)組轉(zhuǎn)換為字符串
}
},
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>
至此這個(gè)小功能就實(shí)現(xiàn)啦!
補(bǔ)充:vue 如何實(shí)現(xiàn)切換密碼的顯示與隱藏
一、vue 實(shí)現(xiàn)切換密碼的顯示與隱藏
1.在 data 中定義 showPwd,默認(rèn)為 false,用來(lái)控制密碼的顯示與隱藏。定義 pwd,默認(rèn)為空,是密碼的值,代碼如下所示:
data() {
return {
showPwd: false,
pwd: ''
}
}2.在密碼的顯示與隱藏中,有兩種輸入框,一個(gè)是類型為text的文本框用來(lái)展示密碼,另一個(gè)是類型為password的密碼框用來(lái)隱藏密碼。由于showPwd的默認(rèn)值為false,所示設(shè)置text的框?yàn)?code>v-if,默認(rèn)顯示密碼,而設(shè)置password的框?yàn)?v-else,默認(rèn)不顯示密碼,同時(shí)也進(jìn)行v-model的雙向數(shù)據(jù)綁定,綁定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.在旁邊控制的按鈕上,進(jìn)行對(duì)象樣式綁定,顯示不同的樣式,同時(shí)綁定點(diǎn)擊事件,將 !showPwd 的值賦值給 showPwd。在下面的顯示中,通過(guò) 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>到此這篇關(guān)于vue基于input實(shí)現(xiàn)密碼的顯示與隱藏功能的文章就介紹到這了,更多相關(guān)vue密碼顯示與隱藏內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue實(shí)現(xiàn)點(diǎn)擊當(dāng)前元素以外的地方隱藏當(dāng)前元素(實(shí)現(xiàn)思路)
這篇文章主要介紹了Vue實(shí)現(xiàn)點(diǎn)擊當(dāng)前元素以外的地方隱藏當(dāng)前元素,文中給大家擴(kuò)展了vue實(shí)現(xiàn)點(diǎn)擊其他地方隱藏div的三種方法,需要的朋友可以參考下2019-12-12
vue項(xiàng)目中使用qrcodesjs2生成二維碼簡(jiǎn)單示例
最近項(xiàng)目中需生成二維碼,發(fā)現(xiàn)了很好用的插件qrcodesjs2,所以下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中使用qrcodesjs2生成二維碼的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
解決vue-router 嵌套路由沒(méi)反應(yīng)的問(wèn)題
這篇文章主要介紹了解決vue-router 嵌套路由沒(méi)反應(yīng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Vue實(shí)現(xiàn)本地購(gòu)物車(chē)功能
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)本地購(gòu)物車(chē)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12

