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

基于vue實現(xiàn)可搜索下拉框定制組件

 更新時間:2020年03月26日 17:02:13   作者:wl_  
這篇文章主要為大家詳細(xì)介紹了基于vue實現(xiàn)可搜索下拉框定制組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

實踐加深對vue的理解和運用有效途徑,本文是基于vue的可搜索下拉框定制組件實現(xiàn),在此記錄.

一、效果

二、組件代碼

dropdown.vue

<template>
 <div class="vue-dropdown default-theme" v-show-extend="show">
 <div class="search-module clearfix" v-show="length">
 <input class="search-text" 
 @keyup='search($event)' :placeholder="placeholder" />
 <span class="glyphicon glyphicon-search search-icon"></span>
 </div>
 <ul class="list-module" v-show="length">
 <li v-for ="(item,index) in datalist" @click="appClick(item)" 
 :key="index">
 <span class="list-item-text">{{item.name}}</span>
 </li>
 </ul>
 <div class="tip__nodata" v-show="!datalist.length">{{nodatatext}}</div>
 </div>
</template>

<script>
 export default {
 data(){
 return {
 _datalist:this.itemlist.concat(),
 datalist:this.itemlist.concat(),
 length:this.itemlist.length
 }
 },
 props:{
 'show':{//用于外部控制組件的顯示/隱藏
 type:Boolean,
 default:true
 },
 'itemlist':Array,
 'placeholder':String,
 'nodatatext':String
 },
 directives:{
 'show-extend':function(el,binding,vnode){//bind和 update鉤子
 let value = binding.value,searchInput = null;
 if(value){
  el.style.display='block';
 }else{//隱藏后,恢復(fù)初始狀態(tài)
  el.style.display='none';
  searchInput = el.querySelector(".search-text");
  searchInput.value = '';
  vnode.context.datalist = vnode.context.itemlist;//還原渲染數(shù)據(jù)
 }
 }
 },
 methods:{
 appClick:function(data){
 this.$emit('item-click',data);
 },
 search:function(e){
 let vm = this,searchvalue = e.currentTarget.value;
 vm.datalist = vm.$data._datalist.filter(function(item,index,arr){
  return item.name.indexOf(searchvalue) != -1;
 });
 }
 },
 mounted:function(){

 }
 }
</script>

<style lang="scss" scoped>
 .vue-dropdown.default-theme {
 position: absolute;
 left:15%;
 display: none;
 width: 70%;
 margin: 0 auto;
 margin-top: 1em;
 padding: 1em;
 z-index:10;
 box-shadow: 0px 0px 10px #ccc;
 &._self-show {
 display: block!important;
 }

 .search-module {
 position: relative;
 .search-text {
 width: 100%;
 height: 30px;
 padding-right: 2em;
 padding-left:0.5em;
 border-radius: 0.5em;
 box-shadow: none;
 border: 1px solid #ccc;

 &:focus {
  border-color: #2198f2;
 }
 }

 .search-icon {
 position: absolute;
 top: 24%;
 right: 0.5em;
 color: #aaa;
 }

 }

 .list-module {
 max-height: 200px;
 overflow-y: auto;
 li {
 &._self-hide {
  display: none;
 }
 margin-top: 0.5em;
 padding: 0.5em;
 &:hover {
  cursor:pointer;
  color: #fff;
  background: #00a0e9;

 }
 }
 }
 }
 .tip__nodata {
 font-size: 12px;
 margin-top: 1em;
 }
</style>

三、組件使用

<dropdown :itemlist="itemlist" :placeholder="placeholder" :nodatatext="nodatatext"></dropdown>

更多搜索功能實現(xiàn)的精彩文章,請點擊專題:javascript搜索功能匯總 進(jìn)行學(xué)習(xí)

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

相關(guān)文章

  • three.js中文文檔學(xué)習(xí)之創(chuàng)建場景

    three.js中文文檔學(xué)習(xí)之創(chuàng)建場景

    這篇文章主要給大家介紹了three.js中文文檔學(xué)習(xí)之創(chuàng)建場景的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用three.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • js運動框架_包括圖片的淡入淡出效果

    js運動框架_包括圖片的淡入淡出效果

    js運動框架_包括圖片的淡入淡出效果,需要的朋友可以參考一下
    2013-05-05
  • 一文詳細(xì)講講7種常見的前端攻擊

    一文詳細(xì)講講7種常見的前端攻擊

    這篇文章主要給大家介紹了7種常見的前端攻擊,包括跨站腳本(XSS)、依賴庫風(fēng)險、跨站請求偽造(CSRF)、點擊劫持(Clickjacking)、內(nèi)容交付網(wǎng)絡(luò)(CDN)劫持、HTTPS降級和中間人攻擊,每種攻擊都有其攻擊方式和防御措施,需要的朋友可以參考下
    2024-11-11
  • 鼠標(biāo)滾輪控制網(wǎng)頁橫向移動實現(xiàn)思路

    鼠標(biāo)滾輪控制網(wǎng)頁橫向移動實現(xiàn)思路

    設(shè)置window的scrollLeft值,這里一定要是window不能是body否則滾動有問題,綁定事件mousewhell 也必須是在body上,感興趣的各位可以了解下哈,希望可以幫助到你
    2013-03-03
  • chatGPT前端流式輸出js實現(xiàn)三種方法—fetch、SSE、websocket

    chatGPT前端流式輸出js實現(xiàn)三種方法—fetch、SSE、websocket

    項目需要接入chatgpt提供的api,后端返回流式的字符,前端接收并實時顯示,在JavaScript中,使用Stream流通常指的是處理數(shù)據(jù)流的一種方式,它們允許數(shù)據(jù)被處理成塊,而不是一次性處理整個數(shù)據(jù)集,這對于處理大量數(shù)據(jù)或者來自網(wǎng)絡(luò)請求的數(shù)據(jù)非常有用,
    2024-07-07
  • 值得分享和收藏的xmlplus組件學(xué)習(xí)教程

    值得分享和收藏的xmlplus組件學(xué)習(xí)教程

    值得分享和收藏的xmlplus組件學(xué)習(xí)教程,xmlplus是一個設(shè)計非常獨特 JavaScript 框架,用于快速開發(fā)前后端項目,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 利用element-ui實現(xiàn)遠(yuǎn)程搜索兩種實現(xiàn)方式

    利用element-ui實現(xiàn)遠(yuǎn)程搜索兩種實現(xiàn)方式

    這篇文章主要介紹了利用element-ui的兩種遠(yuǎn)程搜索實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • ionic3 懶加載

    ionic3 懶加載

    這篇文章主要介紹了ionic3 懶加載的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • JS數(shù)組循環(huán)的方式以及效率分析對比

    JS數(shù)組循環(huán)的方式以及效率分析對比

    本文詳細(xì)講解了JS數(shù)組循環(huán)的方式以及效率分析對比,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • js實現(xiàn)4個方向滾動的球

    js實現(xiàn)4個方向滾動的球

    本文主要介紹了js實現(xiàn)4個方向滾動球的實例,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03

最新評論

舟曲县| 晴隆县| 荆州市| 肇州县| 嘉峪关市| 兴安盟| 富川| 雅江县| 靖江市| 深泽县| 广昌县| 融水| 杭锦旗| 义马市| 财经| 康定县| 蓬安县| 澜沧| 鲜城| 黄冈市| 巴青县| 秦皇岛市| 吴旗县| 枞阳县| 万荣县| 汤原县| 南华县| 西华县| 神池县| 上蔡县| 宁蒗| 丹阳市| 内江市| 边坝县| 阿坝县| 鞍山市| 西安市| 青川县| 台江县| 元朗区| 谷城县|