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

在vue中根據(jù)光標(biāo)的顯示與消失實(shí)現(xiàn)下拉列表

 更新時(shí)間:2019年09月29日 11:35:57   作者:czrgit  
這篇文章主要介紹了在vue中根據(jù)光標(biāo)的顯示與消失實(shí)現(xiàn)下拉列表,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

重點(diǎn)知識(shí)

mousedown事件:mousedown的執(zhí)行順序大于blur事件

HTML代碼

<template>
 <div>
  <input ref="search" @focus="showList(true)" v-model="search" @blur="showList(false)"/>
  <ul v-if="state">
   <li style="width: 100px;background: goldenrod;color: #fff" @mousedown="handleSearch(1)">1</li>
   <li style="width: 100px;background: goldenrod;color: #fff" @mousedown="handleSearch(2)">2</li>
   <li style="width: 100px;background: goldenrod;color: #fff" @mousedown="handleSearch(3)">3</li>
   <li style="width: 100px;background: goldenrod;color: #fff" @mousedown="handleSearch(4)">4</li>
  </ul>
 </div>
</template>

通過(guò)上面的代碼生成了我們的基本下拉列表,接下來(lái)是data數(shù)據(jù)的解析:

data() {
   return {
    search: '',//搜索框值
    state: false,//是否顯示下拉列表
    isShowList: false,//判斷是點(diǎn)擊內(nèi)容隱藏光標(biāo)的,還是點(diǎn)擊空白隱藏光標(biāo)的
   }
  },

詳細(xì)函數(shù)解析:

//顯示光標(biāo)和失去光標(biāo)事件  
   showList(state) {//state用于判斷是否是得到光標(biāo)事件還是失去光標(biāo)事件
    if (state) {
     this.state = state//顯示下拉列表
    } else {
     if(this.isShowList){//this.isShowList用于判斷是否是下拉列表里的內(nèi)容點(diǎn)擊的事件
      //把this.isShowList賦值為false讓點(diǎn)擊空白區(qū)能再次觸發(fā)失去光標(biāo)事件
      this.isShowList = false
      //讓input一直都有光標(biāo)事件
      this.$refs.search.focus()
     }else {
      this.state = state //隱藏下拉框
     }
    }
   },
   handleSearch(data) {//data搜索的數(shù)據(jù)
    this.search = data//賦值
    this.isShowList = true//這是區(qū)別是否是內(nèi)容區(qū)的點(diǎn)擊事件
   }

詳細(xì)過(guò)程

  1. 點(diǎn)擊input標(biāo)簽觸發(fā)showList(true)方法,有它是true直接執(zhí)行 this.state = state//顯示下拉列表
  2. 點(diǎn)擊下拉框內(nèi)容觸發(fā)handleSearch(data)方法 把 this.isShowList = true 標(biāo)注這是在下拉框內(nèi)容的點(diǎn)擊事件,將不會(huì)隱藏下拉框
  3. 最后通過(guò)blur觸發(fā)showList(false),他將根據(jù)this.isShowList判斷是否隱藏下拉框,當(dāng)this.isShowList是true時(shí),執(zhí)行this.isShowList = false 把this.isShowList回復(fù)原樣,讓點(diǎn)擊空白區(qū)也能隱藏下拉框,
  4. this.$refs.search.focus()讓input再次獲得光標(biāo)事件,這將為點(diǎn)擊空白區(qū)能觸發(fā)失去光標(biāo)事件讓下拉框隱藏起來(lái)

參考:http://www.fzitv.net/article/171151.htm

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

岢岚县| 哈密市| 东莞市| 女性| 玉屏| 武胜县| 定安县| 苍溪县| 潼关县| 会昌县| 丹凤县| 洞头县| 吴忠市| 威远县| 保靖县| 六盘水市| 庄浪县| 崇信县| 合肥市| 漯河市| 拜城县| 枝江市| 潼南县| 恩平市| 咸丰县| 宁武县| 中江县| 铜川市| 恩平市| 黄大仙区| 江门市| 比如县| 通江县| 双流县| 平武县| 堆龙德庆县| 元阳县| 池州市| 新郑市| 和静县| 波密县|