首頁 web前端 js教程 vue Element-ui input 遠端搜尋實例詳解

vue Element-ui input 遠端搜尋實例詳解

Jan 05, 2018 pm 04:46 PM
element-ui input 實例

本文分為html,js和css程式碼給大家詳細介紹了vue Element-ui input 遠端搜尋與修改建議顯示模版功能,有興趣的朋友一起看看吧,希望能幫助大家。

html:

<template>
 <el-autocomplete popper-class="my-autocomplete" custom-item="my-remote" v-model="state" :fetch-suggestions="querySearch" placeholder="默认空" icon="close" :on-icon-click="handleIconClick">
 </el-autocomplete>
</template>
登入後複製

js:

<script>
import Vue from 'vue'
Vue.component('my-remote', {
 functional: true,
 render: function(h, ctx) {
  var item = ctx.props.item;
  let str = h('li', ctx.data, [
   h('p', { attrs: { class: 'name' } }, [item.value]),
   h('span', { attrs: { class: 'addr' } }, [item.address])
  ]);
  if (item.str) { // 根据参数不同 修改原模版结构
   str = h('center', { attrs: { class: 'ems' } }, [item.str])
  }
  return str
 },
 props: {
  item: { type: Object, required: true }
 }
});
export default {
 data() {
  return {
   restaurants: [],
   state: '',
   timeout: null,
   _that: {} // 记录this,用来发起http请求
  };
 },
 methods: {
  querySearch(queryString, cb) {
   let restaurants = this.restaurants;
   if (restaurants.length > 0) { // 如果参数都没变化,则使用缓存数据,避免请求沉积
    let results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
    cb(results);
   } else {
    const qtype = ‘参数';
    this._that.$http('/inner', { qtype: qtype })
     .then((res) => {
       restaurants = this.loadAll(res);
       this.restaurants = restaurants;
       let results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
       cb(results);
     })
     .catch((err) => {
      restaurants = this.loadAll();
      let results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
      cb(results);
     });
   }
  },
  createFilter(queryString) {
   return (restaurant) => {
    if (restaurant.str) return false;
    return (restaurant.value.indexOf(queryString.toLowerCase()) === 0);
   };
  },
  loadAll(data) {
   let serier = [];
   if (data) {
    for (let i = 0, l = data.length; i < l; i++) {
     let a = data[i];
     let b = &#39;&#39;;
     if (typeof a === "object") {
      b = a[1];
      a = a[0];
     }
     serier.push({ "value": a, "address": b })
    }
   } else { // 如果没有请求到数据,则显示暂无数据!
    serier.push({ "str": &#39;暂无数据&#39; })
   }
   return serier;
  },
  handleIconClick(ev) {
   this.state = "";
  }
 },
 mounted() {
  this._that = this;
 }
}
</script> 
登入後複製

css:

<style lang="scss">
.my-autocomplete {
 li {
  line-height: normal !important;
  padding: 7px !important;
 
  .name {
   text-overflow: ellipsis;
   overflow: hidden;
  }
  .addr {
   font-size: 12px;
   color: #b4b4b4;
  }
 
  .highlighted .addr {
   color: #ddd;
  }
 }
 .ems {
  font-size: 12px;
  color: #b4b4b4;
 }
}
</style> 
登入後複製

相關推薦:

JavaScript之replace實作搜尋關鍵字高亮顯示方法

jquery select外掛程式非同步即時搜尋實作方法

Bootrap和Vue實作仿百度搜尋功能實例

以上是vue Element-ui input 遠端搜尋實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
如何使用Vue和Element-UI實現圖片懶載入功能 如何使用Vue和Element-UI實現圖片懶載入功能 Jul 22, 2023 pm 04:05 PM

如何使用Vue和Element-UI實現圖片懶載入功能懶載入(Lazyloading)是一種透過延遲載入圖片的技術,可以有效提升頁面載入速度,節省頻寬並改善使用者體驗。在Vue專案中,我們可以藉助Element-UI和一些外掛程式來實現圖片懶載入功能。本文將介紹如何使用Vue和Element-UI來實現圖片懶加載,並附上對應的程式碼範例。一、安裝必要的依賴在開始之

如何使用Vue和Element-UI實現日曆和日期選擇功能 如何使用Vue和Element-UI實現日曆和日期選擇功能 Jul 22, 2023 pm 05:30 PM

如何使用Vue和Element-UI實現日曆和日期選擇功能簡介:在前端開發中,日曆和日期選擇功能是非常常見的需求之一。 Vue和Element-UI是一對非常強大的開發工具,結合它們可以輕鬆實現日曆和日期選擇功能。本文將介紹如何使用Vue和Element-UI來建立一個簡單的日曆和日期選擇功能,並提供程式碼範例,幫助讀者了解實現的特定步驟和方法。準備工作:在開始

如何使用Vue和Element-UI實現資料的篩選和搜尋功能 如何使用Vue和Element-UI實現資料的篩選和搜尋功能 Jul 21, 2023 pm 08:40 PM

如何使用Vue和Element-UI實現資料的篩選和搜尋功能在現代W​​eb開發中,資料的篩選和搜尋功能是非常常見和重要的需求。 Vue和Element-UI是目前非常受歡迎的前端框架,它們提供了許多強大的工具和元件,可以幫助我們輕鬆實現資料的篩選和搜尋功能。本文將介紹如何使用Vue和Element-UI來實現這些功能,並提供詳細的程式碼範例。首先,我們需要準備一個用

如何使用Vue和Element-UI建立響應式網頁介面 如何使用Vue和Element-UI建立響應式網頁介面 Jul 20, 2023 pm 11:01 PM

如何使用Vue和Element-UI創建響應式網頁介面在Web開發中,響應式設計是一種不可或缺的技術。 Vue.js和Element-UI是兩個非常受歡迎的前端框架,它們都提供了豐富的工具和元件來建立現代化的響應式網頁介面。本文將介紹如何使用Vue和Element-UI來建立響應式網頁介面,並將透過程式碼範例來呈現具體的實作流程。首先,我們需要確保已經安裝了Vu

如何使用Vue和Element-UI實現資料的分組和匯總 如何使用Vue和Element-UI實現資料的分組和匯總 Jul 21, 2023 pm 02:37 PM

如何使用Vue和Element-UI實現資料的分組和匯總在前端開發中,我們經常會遇到需要對資料進行分組和匯總的情況。 Vue是一個非常受歡迎的JavaScript框架,而Element-UI則是一個基於Vue的元件庫,它提供了豐富的UI元件,能夠幫助我們快速建立頁面。本文將介紹如何使用Vue和Element-UI實現資料的分組和匯總,並透過程式碼範例來說明。準備工

如何使用Vue和Element-UI實現訊息通知功能 如何使用Vue和Element-UI實現訊息通知功能 Jul 21, 2023 pm 12:40 PM

如何使用Vue和Element-UI實現訊息通知功能隨著前端技術的不斷發展,越來越多的網站和應用程式需要實現訊息通知功能,以便及時向用戶展示重要的資訊。在Vue開發中,結合Element-UI框架可以快速實現這項功能。本文將詳細介紹如何使用Vue和Element-UI來實現訊息通知功能,並提供相關的程式碼範例。一、準備工作在使用Vue和Element-UI實現

如何使用Vue和Element-UI實現自動補全功能 如何使用Vue和Element-UI實現自動補全功能 Jul 21, 2023 pm 02:53 PM

如何使用Vue和Element-UI實現自動補全功能概述:自動補全是一種非常實用的功能,它能夠根據使用者的輸入提供相關的補全選項,提高使用者體驗。在Vue框架中,結合Element-UI元件庫,實現自動補全功能變得非常簡單。本文將介紹如何使用Vue和Element-UI來實現此功能,並給出對應的程式碼範例。步驟一:建立Vue專案並引入Element-UI庫首先,

如何使用Vue和Element-UI實現拖曳排序功能 如何使用Vue和Element-UI實現拖曳排序功能 Jul 22, 2023 pm 04:12 PM

如何使用Vue和Element-UI實現拖曳排序功能前言:在Web開發中,拖曳排序功能是一項常見且實用的功能。本文將介紹如何使用Vue和Element-UI來實現拖曳排序功能,透過程式碼範例示範實作過程。一、環境搭建安裝Node.js在開始前,需要先安裝Node.js。可以存取https://nodejs.org/下載並安裝對應作業系統的版本。安裝VueCL

See all articles