最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

【思路分析】:

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

對(duì)于input來(lái)說(shuō):要做2件事情

  • 眼睛睜開(kāi):type是text,眼睛閉上:type是password

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

對(duì)于圖標(biāo)來(lái)說(shuō):要做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ù)提交到了父組件,父組件通過(guò)v-model就可以拿到這個(gè)值

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

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

原生需要的方法:

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

這樣知識(shí)就串聯(lián)了起來(lái),子組件通過(guò)emit將數(shù)據(jù)給了父組件,父組件通過(guò)子組件提交的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帶眼睛的密碼子組件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue請(qǐng)求后端數(shù)據(jù)和跨域問(wèn)題解決

    vue請(qǐng)求后端數(shù)據(jù)和跨域問(wèn)題解決

    這篇文章主要介紹了vue請(qǐng)求后端數(shù)據(jù)和跨域問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • element-ui組件table實(shí)現(xiàn)自定義篩選功能的示例代碼

    element-ui組件table實(shí)現(xiàn)自定義篩選功能的示例代碼

    這篇文章主要介紹了element-ui組件table實(shí)現(xiàn)自定義篩選功能的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • 實(shí)時(shí)通信Socket?io的使用示例詳解

    實(shí)時(shí)通信Socket?io的使用示例詳解

    這篇文章主要為大家介紹了實(shí)時(shí)通信Socket?io的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • vue封裝自定義分頁(yè)器組件與使用方法分享

    vue封裝自定義分頁(yè)器組件與使用方法分享

    這篇文章主要給大家介紹了關(guān)于vue封裝自定義分頁(yè)器組件與使用方法的相關(guān)資料,非常的好用,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • vue移動(dòng)端輕量級(jí)的輪播組件實(shí)現(xiàn)代碼

    vue移動(dòng)端輕量級(jí)的輪播組件實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue移動(dòng)端輕量級(jí)的輪播組件實(shí)現(xiàn)代碼,一個(gè)簡(jiǎn)單的移動(dòng)端卡片滑動(dòng)輪播組件,適用于Vue2.x。本文給大家?guī)?lái)了實(shí)例代碼,需要的朋友參考下吧
    2018-07-07
  • Vue項(xiàng)目中使用自定義字體樣式方式

    Vue項(xiàng)目中使用自定義字體樣式方式

    這篇文章主要介紹了Vue項(xiàng)目中使用自定義字體樣式方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue3通用API功能示例剖析

    Vue3通用API功能示例剖析

    這篇文章主要為大家介紹了Vue3通用API功能示例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • vue組件掛載到全局方法的示例代碼

    vue組件掛載到全局方法的示例代碼

    這篇文章主要介紹了vue組件掛載到全局方法的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 動(dòng)態(tài)Axios的配置步驟詳解

    動(dòng)態(tài)Axios的配置步驟詳解

    這篇文章主要給大家分享介紹了關(guān)于動(dòng)態(tài)Axios的配置步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),通過(guò)這個(gè)教程大家可以很方便的實(shí)現(xiàn)動(dòng)態(tài)Axios的配置,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • Vite3遷移Webpack5的實(shí)現(xiàn)

    Vite3遷移Webpack5的實(shí)現(xiàn)

    本文主要介紹了Vite3遷移Webpack5的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評(píng)論

东莞市| 梁山县| 汉川市| 盖州市| 察隅县| 浠水县| 北流市| 隆林| 炎陵县| 八宿县| 哈巴河县| 浦城县| 安阳县| 钟祥市| 巫溪县| 冷水江市| 易门县| 西畴县| 璧山县| 礼泉县| 合阳县| 樟树市| 临安市| 河东区| 施秉县| 龙井市| 仪征市| 安龙县| 唐山市| 常熟市| 河池市| 九寨沟县| 东台市| 洱源县| 曲水县| 民丰县| 伽师县| 海兴县| 新龙县| 黎城县| 准格尔旗|