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

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

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

思路

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

1.v-model形式

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

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

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

最后實現(xiàn)的子組件文件如下,這里的顯示隱藏的點擊使用的是文字,實際使用時可使用對應(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,默認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>

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

2。.sync修飾符

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

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

父組件引用方式

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

寫到最后

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

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

相關(guān)文章

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

    Element中el-form表單舉例詳解

    Form組件提供了表單驗證的功能,只需要通過屬性傳入約定的驗證規(guī)則,并將Form-Item的屬性設(shè)置為需校驗的字段名即可,下面這篇文章主要給大家介紹了關(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ù)的概念,并通過一個簡單的例子來說明其工作原理,接著,文章提到在Vue.js中,回調(diào)函數(shù)常用于子父組件之間的通信,父組件可以接受子組件的消息并調(diào)用回調(diào)函數(shù),文章通過代碼示例和解釋,幫助讀者理解回調(diào)函數(shù)在實際開發(fā)中的應(yīng)用
    2024-12-12
  • vuejs中使用mixin局部混入/全局混入的方法詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

阿拉尔市| 五华县| 调兵山市| 苍溪县| 西林县| 浙江省| 鹿邑县| 迭部县| 通榆县| 新巴尔虎右旗| 勃利县| 泰安市| 赣榆县| 历史| 大厂| 屯留县| 时尚| 井陉县| 甘谷县| 茶陵县| 营山县| 中宁县| 随州市| 綦江县| 道孚县| 鄂托克旗| 大竹县| 伊春市| 潼关县| 外汇| 治多县| 昌宁县| 怀集县| 平泉县| 海阳市| 双鸭山市| 黄陵县| 永靖县| 九寨沟县| 秭归县| 灌阳县|