vue 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 = ''; if (typeof a === "object") { b = a[1]; a = a[0]; } serier.push({ "value": a, "address": b }) } } else { // 如果没有请求到数据,则显示暂无数据! serier.push({ "str": '暂无数据' }) } 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實作搜尋關鍵字高亮顯示方法
以上是vue Element-ui input 遠端搜尋實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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