欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue搜索高亮popsearch組件的實(shí)現(xiàn)示例

 更新時(shí)間:2023年09月27日 11:14:10   作者:啥咕啦嗆  
有時(shí)候給頁面內(nèi)容添加一個(gè)關(guān)鍵詞搜索功能,如果搜索結(jié)果能夠像瀏覽器搜索一樣高亮顯示,那找起來就會(huì)很明顯體驗(yàn)會(huì)好很多,本文就來介紹一下vue搜索高亮popsearch組件的實(shí)現(xiàn)示例,感興趣的可以了解一下

背景

最近項(xiàng)目中需要制作一個(gè)搜索高亮的組件(如下圖展示),今天分享一下這個(gè)組件功能。希望能拋磚引玉,給大家?guī)韱l(fā)。

需求功能

我們需要一個(gè)輸入框,比如用來搜索網(wǎng)站的所有菜單,這個(gè)時(shí)候搜索結(jié)果高亮顯示。

1.搜索關(guān)鍵詞篩選;

2.關(guān)鍵詞鍵入篩選;

3.關(guān)鍵詞列表高亮;

設(shè)計(jì)開發(fā)

先說一下我的開發(fā)環(huán)境版本:

  • node: v11.3.0
  • npm: 6.4.1
  • vue:2.5.11

如果不是以上版本也沒關(guān)系,今日分享的思路,相信你可以自己造出來~

1.先做html排版,簡(jiǎn)單的用position相對(duì)定位來做哈:

<div class='popcover'>
   <input type="text" class="z-input" placeholder="請(qǐng)輸入" v-model="data">
   <div class="popcoverbox">
      <p v-if="!list.filter(one=>one.name.includes(data)).length"> 無數(shù)據(jù) </p>
      <ul>
        <li v-for="one in list.filter(one=>one.name.includes(data))" :key="one.id" v-html="searchNamefilter(one.name)" ></li>
      </ul>
   </div>
 </div>

2.給html賦上對(duì)應(yīng)的css(sass):

.z-input{
  outline: none;
  line-height: 30px;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 10px;
  &:focus{
    border-color: #1676ff;
    + .popcoverbox{
      display: block;
    }
  }
}
.popcover{
  position: relative;
}
.popcoverbox{
  display: none;
  position: absolute;
  top: 32px;
  left: 0;
  min-width: 200px;
  min-height: 30px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  box-shadow: 3px 4px 3px #eee;
  background: #fff;
  line-height: 30px;
  padding: 0;
  p{
    color: #999;
    padding: 0;
    margin: 0;
    border: 0;
    text-indent: 10px;
  }
  ul{
    padding: 0;
    margin: 0;
    border: 0;
    li{
      margin: 0;
      border: 0;
      box-sizing: border-box;
      width: 100%;
      text-indent: 10px;
      cursor: pointer;
      &:hover{
        color: #333;
        background-color: #eee;
      }
      &.hover{
        color: #1676ff;
        background-color: #e8f1ff;
      }
    }
  }
}

3.給出變量定義:

data:"",
list:[
  {
    id: 0,
    name:'張三'
  },
  {
    id: 1,
    name:'趙四'
  },
  {
    id: 2,
    name:'周四'
  },
  {
    id: 3,
    name:'鄭三'
  },
]
}

4.方法高亮定義:

 // 搜索關(guān)鍵詞高亮
searchNamefilter(name){
  if(!name)return
  let key = this.data;
  const reg = new RegExp(key, 'ig');
  return name.replace(reg, `<span style="color:red">${key}</span>`)
},

本組件只用于學(xué)習(xí)交流哈!暫時(shí)沒有定義父級(jí)傳入?yún)?shù)哈,效果如下:

寫在最后

到此這篇關(guān)于vue搜索高亮popsearch組件的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)vue搜索高亮popsearch 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳細(xì)了解Vue?3.0中的onMounted和onUnmounted鉤子函數(shù)

    一文詳細(xì)了解Vue?3.0中的onMounted和onUnmounted鉤子函數(shù)

    Vue3.0引入了新的組件生命周期鉤子函數(shù)onMounted和onUnmounted,分別用于組件掛載后和卸載前的操作,這些鉤子函數(shù)為開發(fā)者提供了更多靈活性,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • vue自定義可選時(shí)間的日歷組件

    vue自定義可選時(shí)間的日歷組件

    這篇文章主要為大家詳細(xì)介紹了vue自定義可選時(shí)間的日歷組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue中插槽(slot)幾種類型的使用方法

    vue中插槽(slot)幾種類型的使用方法

    本文主要介紹了vue中插槽(slot)幾種類型的使用方法,主要分三種,默認(rèn)插槽,具名插槽,作用域插槽,下面就來一起介紹一下,感興趣的可以了解一下
    2024-03-03
  • vue如何實(shí)現(xiàn)Toast輕提示

    vue如何實(shí)現(xiàn)Toast輕提示

    這篇文章主要介紹了vue如何實(shí)現(xiàn)Toast輕提示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • django+vue實(shí)現(xiàn)注冊(cè)登錄的示例代碼

    django+vue實(shí)現(xiàn)注冊(cè)登錄的示例代碼

    這篇文章主要介紹了django+vue實(shí)現(xiàn)注冊(cè)登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 15分鐘學(xué)會(huì)vue項(xiàng)目改造成SSR(小白教程)

    15分鐘學(xué)會(huì)vue項(xiàng)目改造成SSR(小白教程)

    這篇文章主要介紹了15分鐘學(xué)會(huì)vue項(xiàng)目改造成SSR(小白教程),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • vue-cropper插件實(shí)現(xiàn)圖片截取上傳組件封裝

    vue-cropper插件實(shí)現(xiàn)圖片截取上傳組件封裝

    這篇文章主要為大家詳細(xì)介紹了vue-cropper插件實(shí)現(xiàn)圖片截取上傳組件封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 7個(gè)適用于Vue?3的高顏值UI組件庫

    7個(gè)適用于Vue?3的高顏值UI組件庫

    這篇文章主要給大家分享介紹了7個(gè)適用于Vue?3的高顏值UI組件庫,合理利用,又或者學(xué)習(xí)借鑒都是不錯(cuò)的選擇,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 詳解vue 配合vue-resource調(diào)用接口獲取數(shù)據(jù)

    詳解vue 配合vue-resource調(diào)用接口獲取數(shù)據(jù)

    本篇文章主要介紹了vue 配合vue-resource調(diào)用接口獲取數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • vue實(shí)現(xiàn)登錄頁背景粒子特效

    vue實(shí)現(xiàn)登錄頁背景粒子特效

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)登錄頁背景粒子特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04

最新評(píng)論