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

vue實(shí)現(xiàn)密碼顯示與隱藏按鈕的自定義組件功能

 更新時(shí)間:2019年04月23日 15:17:30   作者:前端小宇  
本文通過(guò)兩種思路給大家介紹vue實(shí)現(xiàn)密碼顯示與隱藏按鈕的自定義組件功能,感興趣的朋友跟隨小編一起看看吧

思路

實(shí)現(xiàn)該組件有兩個(gè)思路,一個(gè)使用v-model進(jìn)行雙向綁定,一個(gè)是使用prop的.sync修飾符、父子組件通信。

1.v-model形式

v-model的實(shí)現(xiàn)需要在自定義組件中自定義一個(gè)inputvalue值,因?yàn)関ue中的父子組件傳遞機(jī)制問(wèn)題,在組件中直接修改props注入的key字段時(shí),vue會(huì)給出錯(cuò)誤。子組件中定義inputvalue字段,用于子組件中input元素的值的雙向綁定,子組件中的input數(shù)據(jù)綁定可以使用v-model,也可以使用實(shí)現(xiàn)v-model的原理語(yǔ)法糖,下面兩種方式都可作為子組件中的數(shù)據(jù)綁定。

<input type="password" v-model="inputvalue"/>
<input type="password" :value="inputvalue" @input="inputvalue=$event.target.value"/>

關(guān)于v-model的實(shí)現(xiàn)可查看其他關(guān)于v-model的實(shí)現(xiàn)文章。

最后實(shí)現(xiàn)的子組件文件如下,這里的顯示隱藏的點(diǎn)擊使用的是文字,實(shí)際使用時(shí)可使用對(duì)應(yīng)的icon字體圖標(biāo),并設(shè)定一定的樣式。

<template>
<div>
  <input :type='show?"text":"password"' :value="inputvalue" 
@input="inputvalue=$event.target.value" :placeholder='placeholder'/>
  <i :title="show?'隱藏密碼':'顯示密碼'" @click="changePass" 
style="cursor:pointer;">{{show?'隱藏':'顯示'}}</i>
</div>
</template>
 
<script>
export default {
  props: {
    value: {
      default: "",
      type: String
    },
    placeholder: {
      default: "",
      type: String
    },
  },
  data(){
    return{
      inputvalue:"",
      show:false,//密碼顯示或隱藏的Boolean,默認(rèn)false,密碼不顯示
    }
  },
  watch:{
    inputvalue(news,olds){
      this.$emit("input",news);
    }
  },
  mounted(){
    this.inputvalue=this.value;
  },
  methods:{
    changePass(){
      this.show=!this.show;
    }
  }
}
</script>
<style>
</style>

父組件引用方式如下

<input-password v-model="value"></input-password>

因?yàn)檫@里實(shí)現(xiàn)的v-model的綁定方式,而v-model的實(shí)現(xiàn)就是監(jiān)聽(tīng)的input事件,則當(dāng)inputvalue改變時(shí),則向父組件發(fā)出input事件,父組件使用v-model監(jiān)聽(tīng)input事件,修改父組件中的value值,此處實(shí)現(xiàn)了雙向綁定,同時(shí)在顯示和隱藏的i標(biāo)簽上綁定事件,點(diǎn)擊i標(biāo)簽時(shí)改變show的值,通過(guò)判斷show的值動(dòng)態(tài)改變input的type,實(shí)現(xiàn)密碼的顯示和隱藏。

2。.sync修飾符

.sync修飾符的實(shí)現(xiàn)與v-model的實(shí)現(xiàn)方式相同,唯一不同的是watch監(jiān)聽(tīng)inputvalue變化時(shí)向父組件發(fā)出的事件修改為 "update:value" ,修改后inputvalue的監(jiān)聽(tīng)函數(shù)如下

inputvalue(news,olds){
      this.$emit("update:value",news);
    },

父組件引用方式

<input-password :value.sync="value"></input-password>

寫(xiě)到最后

其實(shí)兩種方式的實(shí)現(xiàn)最主要需要的還是父子組件之間的傳值,使用emit,vuex,或自定義倉(cāng)庫(kù)等都可實(shí)現(xiàn)父子組件中的傳值,監(jiān)聽(tīng)inputvalue修改時(shí)可以同時(shí)使用兩種emit發(fā)送,可同時(shí)支持兩種方式。

以上所述是小編給大家介紹的vue實(shí)現(xiàn)密碼顯示與隱藏按鈕的自定義組件功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

  • Element中el-form表單舉例詳解

    Element中el-form表單舉例詳解

    Form組件提供了表單驗(yàn)證的功能,只需要通過(guò)屬性傳入約定的驗(yàn)證規(guī)則,并將Form-Item的屬性設(shè)置為需校驗(yàn)的字段名即可,下面這篇文章主要給大家介紹了關(guān)于Element中el-form表單的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Vue3 emits結(jié)合回調(diào)函數(shù)的使用方式

    Vue3 emits結(jié)合回調(diào)函數(shù)的使用方式

    文章介紹了回調(diào)函數(shù)的概念,并通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明其工作原理,接著,文章提到在Vue.js中,回調(diào)函數(shù)常用于子父組件之間的通信,父組件可以接受子組件的消息并調(diào)用回調(diào)函數(shù),文章通過(guò)代碼示例和解釋,幫助讀者理解回調(diào)函數(shù)在實(shí)際開(kāi)發(fā)中的應(yīng)用
    2024-12-12
  • vuejs中使用mixin局部混入/全局混入的方法詳解

    vuejs中使用mixin局部混入/全局混入的方法詳解

    混入可以省很多代碼(高類(lèi)聚低耦合),還方便維護(hù),下面這篇文章主要給大家介紹了關(guān)于vuejs中使用mixin局部混入/全局混入的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • vuejs使用FormData實(shí)現(xiàn)ajax上傳圖片文件

    vuejs使用FormData實(shí)現(xiàn)ajax上傳圖片文件

    本篇文章主要介紹了vuejs使用FormData實(shí)現(xiàn)ajax上傳圖片文件,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • socket io與vue-cli的結(jié)合使用的示例代碼

    socket io與vue-cli的結(jié)合使用的示例代碼

    這篇文章主要介紹了socket io與vue-cli的結(jié)合使用的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Vue如何設(shè)置全局css文件以及css組合器

    Vue如何設(shè)置全局css文件以及css組合器

    這篇文章主要介紹了Vue如何設(shè)置全局css文件以及css組合器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Vue-router的使用和出現(xiàn)空白頁(yè),路由對(duì)象屬性詳解

    Vue-router的使用和出現(xiàn)空白頁(yè),路由對(duì)象屬性詳解

    今天小編就為大家分享一篇Vue-router的使用和出現(xiàn)空白頁(yè),路由對(duì)象屬性詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue-cli3.0如何使用prerender-spa-plugin插件預(yù)渲染

    vue-cli3.0如何使用prerender-spa-plugin插件預(yù)渲染

    這篇文章主要介紹了vue-cli3.0如何使用prerender-spa-plugin插件預(yù)渲染,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue實(shí)現(xiàn)樹(shù)形表格

    vue實(shí)現(xiàn)樹(shù)形表格

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)樹(shù)形表格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue組件中的自定義事件你了解多少

    Vue組件中的自定義事件你了解多少

    這篇文章主要為大家詳細(xì)介紹了Vue組件中的自定義事件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02

最新評(píng)論

邹平县| 奎屯市| 屏东县| 鹤峰县| 黑龙江省| 天水市| 葫芦岛市| 东乡| 澄迈县| 固镇县| 华池县| 济源市| 赤水市| 子洲县| 桂东县| 喜德县| 余江县| 墨竹工卡县| 海口市| 张北县| 四子王旗| 如东县| 林甸县| 辽宁省| 德化县| 岗巴县| 沙田区| 镇坪县| 连州市| 安义县| 高唐县| 石台县| 邢台市| 扶沟县| 灌云县| 安西县| 林甸县| 县级市| 东明县| 道孚县| 石狮市|