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

vue 簡(jiǎn)單自動(dòng)補(bǔ)全的輸入框的示例

 更新時(shí)間:2018年03月12日 15:54:35   作者:阿豪boy  
這篇文章主要介紹了vue 簡(jiǎn)單自動(dòng)補(bǔ)全的輸入框的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

實(shí)現(xiàn)一個(gè)輸入框,輸入信息后顯示由后臺(tái)返回的數(shù)據(jù),供用戶選擇,之前用的elm的組件,不過(guò)那個(gè)有點(diǎn)大。。。簡(jiǎn)單的情況下自己實(shí)現(xiàn)一個(gè)也能滿足要求。。。應(yīng)該吧。。。

主題包括一個(gè)input用于輸入,一個(gè)div用于展示數(shù)據(jù),div里面是數(shù)據(jù)項(xiàng)item

當(dāng)在input中按下回車時(shí),會(huì)根據(jù)信息去后臺(tái)獲取數(shù)據(jù),如果用戶點(diǎn)擊了別的地方,input失去焦點(diǎn),則提示的div也應(yīng)該收起來(lái)

bug:

在blur事件中,如果直接將isShow設(shè)置為false會(huì)出問(wèn)題,先失去焦點(diǎn),顯示面板消失,所以你的點(diǎn)擊不會(huì)被監(jiān)聽到。。。設(shè)置一個(gè)計(jì)時(shí)器,在點(diǎn)擊之后10ms后將面板收起來(lái),問(wèn)題解決。。。

顯示div將內(nèi)容撐開,改變其他組件布局,設(shè)置div的屬性,即可,高度設(shè)為0,z-index很大,就不會(huì)改變其他組件位置

height: 0;
z-index: 999;
<template>
 <div class="container">
  <input v-model="msg" @keyup.enter="search" class="msg" @blur="blur"/>
  <div class="select-panel">
   <div v-show="isShow" v-for="w in words" class="select-item" @click="click_item(w)">{{w['content']}}</div>
  </div>
 </div>
</template>

簡(jiǎn)單實(shí)現(xiàn)代碼

<template>
 <div class="container">
  <input v-model="msg" @keyup.enter="search" class="msg" @blur="blur"/>
  <div class="select-panel">
   <div v-show="isShow" v-for="w in words" class="select-item" @click="click_item(w)">{{w['content']}}</div>
  </div>
 </div>
</template>

<script>
 import {search_word} from "../api/word-api";

 export default {
  name: "auto-complete",
  data() {
   return {
    msg: '',
    words: [],
    isShow: false
   }
  },
  computed: {},

  methods: {
   blur() {
    setTimeout(() => {
      this.isShow = false
     },
     200)
   },
   async search() {
    console.log('search msg', this.msg)
    this.words = await search_word(this.msg)
    console.log(this.words)
    this.isShow = true
   },
   click_item(w) {
    console.log('click word', w)
    this.$emit('add_word', w)
   }
  },

 }
</script>

<style scoped>

 .container {
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
  box-sizing: border-box;
 }

 .msg {
  margin: 5px;
 }

 .select-panel {
  height: 0;
  z-index: 999;

 }

 .select-item {
  /*height: 0;*/
  z-index: 999;
  margin: 1px;
  padding: 2px;
  background: #fff;
  opacity: 0.8;
 }
</style>

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

相關(guān)文章

  • 從零開始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn)

    從零開始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn)

    這篇文章主要介紹了從零開始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Vue v-for循環(huán)之@click點(diǎn)擊事件獲取元素示例

    Vue v-for循環(huán)之@click點(diǎn)擊事件獲取元素示例

    今天小編就為大家分享一篇Vue v-for循環(huán)之@click點(diǎn)擊事件獲取元素示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • antd vue v-decorator的取值與賦值問(wèn)題

    antd vue v-decorator的取值與賦值問(wèn)題

    這篇文章主要介紹了antd vue v-decorator的取值與賦值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue數(shù)據(jù)綁定實(shí)例寫法

    Vue數(shù)據(jù)綁定實(shí)例寫法

    在本篇文章里小編給大家整理的是關(guān)于Vue數(shù)據(jù)綁定實(shí)例寫法以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-08-08
  • vue?this.$router.go(-1);返回時(shí)如何帶參數(shù)

    vue?this.$router.go(-1);返回時(shí)如何帶參數(shù)

    這篇文章主要介紹了vue?this.$router.go(-1);返回時(shí)如何帶參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Vuex 命名空間 namespaced的使用

    Vuex 命名空間 namespaced的使用

    本文主要介紹了Vuex 命名空間 namespaced的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Vue?Echarts報(bào)錯(cuò)Initialize?failed:?invalid?dom解決方法

    Vue?Echarts報(bào)錯(cuò)Initialize?failed:?invalid?dom解決方法

    最近因?yàn)楣ぷ餍枰?用到了ECharts做圖表,也遇到了問(wèn)題,就來(lái)跟大家總結(jié)分享一下,下面這篇文章主要給大家介紹了關(guān)于Vue?Echarts報(bào)錯(cuò)Initialize?failed:?invalid?dom的解決方法,需要的朋友可以參考下
    2023-06-06
  • Vue filter 過(guò)濾當(dāng)前時(shí)間 實(shí)現(xiàn)實(shí)時(shí)更新效果

    Vue filter 過(guò)濾當(dāng)前時(shí)間 實(shí)現(xiàn)實(shí)時(shí)更新效果

    這篇文章主要介紹了Vue filter 過(guò)濾當(dāng)前時(shí)間 實(shí)現(xiàn)實(shí)時(shí)更新效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Vue生命周期中的八個(gè)鉤子函數(shù)相機(jī)

    Vue生命周期中的八個(gè)鉤子函數(shù)相機(jī)

    這篇文章主要為大家介紹了Vue生命周期中的八個(gè)鉤子函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Vue3中的defineExpose函數(shù)用法深入解析

    Vue3中的defineExpose函數(shù)用法深入解析

    這篇文章主要介紹了Vue3中的defineExpose函數(shù)用法的相關(guān)資料,defineExpose是Vue3中用于在模式下暴露組件內(nèi)部屬性和方法的輔助函數(shù),它允許父組件通過(guò)ref訪問(wèn)子組件的暴露內(nèi)容,提高組件間的交互能力并保持封裝性,需要的朋友可以參考下
    2025-01-01

最新評(píng)論

广州市| 灌阳县| 邹平县| 从化市| 辽宁省| 宜城市| 罗田县| 富平县| 清原| 濮阳县| 苏尼特右旗| 绵阳市| 阜城县| 大化| 临海市| 武功县| 壶关县| 亚东县| 开鲁县| 延安市| 丹巴县| 石门县| 娄底市| 祁阳县| 丹棱县| 三明市| 湟中县| 通海县| 堆龙德庆县| 三原县| 开原市| 石阡县| 井陉县| 颍上县| 雷州市| 海伦市| 蓬安县| 康保县| 广安市| 乐山市| 石泉县|