欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于vue封裝一個(gè)帶眼睛的密碼子組件

 更新時(shí)間:2023年09月15日 08:35:30   作者:小孔菜菜  
這篇文章給大家介紹了基于vue封裝一個(gè)帶眼睛的密碼子組件的方法,文章中有詳細(xì)的代碼講解,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

眼睛的icon使用的是阿里的圖標(biāo)庫https://www.iconfont.cn/

【思路分析】:

首先這個(gè)密碼組件是input+icon完成的(也可以是img但是我很懶,不想寫css)

對于input來說:要做2件事情

  • 眼睛睜開:type是text,眼睛閉上:type是password

  • 給父組件提交用戶輸入的值

對于圖標(biāo)來說:要做2件事

  • 可以點(diǎn)擊

  • 保證 密碼-閉眼 文本-睜眼 這個(gè)效果

【核心代碼】:

  • flagType綁定動(dòng)態(tài)的值 data中的flagType:'password',

  • :class="[flag ? 'iconfont icon-yanjing_yincang_o': 'iconfont icon-yanjing_xianshi_o']"動(dòng)態(tài)樣式

  • toShowPassword函數(shù),眼睛的點(diǎn)擊事件

    <el-input
        v-model="value"
        :type="flagType"
        ref="password"
        @input="emitInput"
    >
        <i
            slot="suffix"
            class="el-input__icon eye-wrapper"
            :class="[flag ? 'iconfont icon-yanjing_yincang_o': 'iconfont icon-yanjing_xianshi_o']"
            @click="toShowPassword">
        </i>
    </el-input>

【script代碼】:

```js
    data() {
        return {
            value: '',
            flag: true,
            flagType: 'password',
        }
    },
```
```js
    methods: {
        toShowPassword() {
            this.flag = !this.flag
            this.flagType = this.flag ? 'password' : 'text'
            this.$nextTick(() => {
                this.$refs.password.focus()
            })
        },
 ? ? ? ?//提交數(shù)據(jù)
        emitInput() {
            this.$emit('input', this.value)
        },
 ?  }
```

【父組件引用】:

我在父組件中設(shè)置了展示密碼的按鈕

    <div style="width: 200px">
        <h1>密碼組件</h1>
        <toggle-passowrd v-model="form.password"></toggle-passowrd>
        <el-button @click="getPassword">展示密碼</el-button>
    </div>

在子組件中emitInput這個(gè)方法將子組件的數(shù)據(jù)提交到了父組件,父組件通過v-model就可以拿到這個(gè)值

這里其實(shí)還涉及一個(gè)知識點(diǎn),就是v-model是怎么實(shí)現(xiàn)的?其實(shí)上面的代碼可以進(jìn)行原生的改下,請看下面的代碼

<toggle-passowrd v-model="form.password"></toggle-passowrd>
// 原生
<toggle-passowrd @input="setPassword" :value="form.password"></toggle-passowrd>

原生需要的方法:

    setPassword(val) {
        this.form.password = val
    },

這樣知識就串聯(lián)了起來,子組件通過emit將數(shù)據(jù)給了父組件,父組件通過子組件提交的input事件去取數(shù)據(jù),而vue為此,提供了一個(gè)vue的指令,就是v-model,v-model就是獲取數(shù)據(jù),并賦值數(shù)據(jù),實(shí)現(xiàn)綁定。

以上就是基于vue封裝一個(gè)帶眼睛的密碼子組件的詳細(xì)內(nèi)容,更多關(guān)于vue帶眼睛的密碼子組件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue設(shè)置長時(shí)間未操作登錄自動(dòng)到期返回登錄頁

    Vue設(shè)置長時(shí)間未操作登錄自動(dòng)到期返回登錄頁

    這篇文章主要介紹了Vue設(shè)置長時(shí)間未操作登錄以后自動(dòng)到期返回登錄頁,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2020-01-01
  • element多個(gè)表單校驗(yàn)的實(shí)現(xiàn)

    element多個(gè)表單校驗(yàn)的實(shí)現(xiàn)

    在項(xiàng)目中,經(jīng)常會(huì)遇到表單檢驗(yàn),在這里我分享在實(shí)際項(xiàng)目中遇到多個(gè)表單同時(shí)進(jìn)行校驗(yàn)以及我的解決方法,感興趣的可以了解一下
    2021-05-05
  • Vue.js實(shí)現(xiàn)數(shù)據(jù)雙向綁定的代碼示例

    Vue.js實(shí)現(xiàn)數(shù)據(jù)雙向綁定的代碼示例

    在我們使用vue的時(shí)候,當(dāng)數(shù)據(jù)發(fā)生了改變,界面也會(huì)跟著更新,但這并不是理所當(dāng)然的,我們修改數(shù)據(jù)的時(shí)候vue是如何監(jiān)聽數(shù)據(jù)的改變以及當(dāng)數(shù)據(jù)發(fā)生改變的時(shí)候vue如何讓界面刷新的,所以本文就給大家講講Vue.js 數(shù)據(jù)雙向綁定是如何實(shí)現(xiàn)的
    2023-07-07
  • Vue3在css中使用js變量及其原理解讀

    Vue3在css中使用js變量及其原理解讀

    這篇文章主要介紹了Vue3在css中使用js變量及其原理解讀,結(jié)合實(shí)例代碼介紹了vue3中css使用script中定義的變量的方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • 基于Vue實(shí)現(xiàn)鼠標(biāo)滾動(dòng)輪控制頁面橫向滑動(dòng)效果

    基于Vue實(shí)現(xiàn)鼠標(biāo)滾動(dòng)輪控制頁面橫向滑動(dòng)效果

    這篇文章主要介紹了如何基于Vue實(shí)現(xiàn)鼠標(biāo)滾動(dòng)輪控制頁面橫向滑動(dòng)效果,文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-09-09
  • Nuxt項(xiàng)目支持eslint+pritter+typescript的實(shí)現(xiàn)

    Nuxt項(xiàng)目支持eslint+pritter+typescript的實(shí)現(xiàn)

    這篇文章主要介紹了Nuxt項(xiàng)目支持eslint+pritter+typescript的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • Vue項(xiàng)目部署上線全過程記錄(保姆級教程)

    Vue項(xiàng)目部署上線全過程記錄(保姆級教程)

    vue項(xiàng)目開發(fā)完畢后,我們需要將項(xiàng)目打包上線,同時(shí)我們希望可以在本地預(yù)覽生產(chǎn)環(huán)境項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目部署上線的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 淺談vue 多個(gè)變量同時(shí)賦相同值互相影響

    淺談vue 多個(gè)變量同時(shí)賦相同值互相影響

    這篇文章主要介紹了淺談vue 多個(gè)變量同時(shí)賦相同值互相影響,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue-cli 構(gòu)建骨架屏的方法示例

    vue-cli 構(gòu)建骨架屏的方法示例

    這篇文章主要介紹了vue-cli 構(gòu)建骨架屏的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue?url跳轉(zhuǎn)解析和參數(shù)編碼介紹

    vue?url跳轉(zhuǎn)解析和參數(shù)編碼介紹

    這篇文章主要介紹了vue?url跳轉(zhuǎn)解析和參數(shù)編碼,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論