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实现搜索关键字高亮显示方法
Atas ialah kandungan terperinci vue Element-ui input 远程搜索实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara menggunakan Vue dan Element-UI untuk melaksanakan pemuatan malas imej Pemuatan malas (Lazyloading) ialah teknologi yang melambatkan pemuatan imej, yang boleh meningkatkan kelajuan pemuatan halaman secara berkesan, menjimatkan lebar jalur dan meningkatkan pengalaman pengguna. Dalam projek Vue, kita boleh menggunakan Element-UI dan beberapa pemalam untuk melaksanakan fungsi pemuatan malas imej. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk melaksanakan pemuatan malas imej dan melampirkan contoh kod yang sepadan. 1. Pasang kebergantungan yang diperlukan sebelum memulakan

Pengenalan kepada cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi pemilihan kalendar dan tarikh: Dalam pembangunan bahagian hadapan, fungsi pemilihan kalendar dan tarikh ialah salah satu keperluan yang sangat biasa. Vue dan Element-UI ialah sepasang alat pembangunan yang sangat berkuasa Menggabungkannya boleh melaksanakan fungsi pemilihan kalendar dan tarikh dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk mencipta fungsi pemilihan kalendar dan tarikh yang ringkas serta menyediakan contoh kod untuk membantu pembaca memahami langkah dan kaedah pelaksanaan yang khusus. Penyediaan: pada permulaan

Cara mencipta antara muka web responsif menggunakan Vue dan Element-UI Dalam pembangunan web, reka bentuk responsif ialah teknologi penting. Vue.js dan Element-UI ialah dua rangka kerja bahagian hadapan yang sangat popular Kedua-duanya menyediakan alatan dan komponen yang kaya untuk membina antara muka web responsif moden. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk mencipta antara muka web responsif, dan akan membentangkan proses pelaksanaan khusus melalui contoh kod. Pertama, kita perlu memastikan Vu dipasang

Cara menggunakan Vue dan Element-UI untuk melaksanakan penapisan data dan fungsi carian Dalam pembangunan web moden, penapisan data dan fungsi carian adalah keperluan yang sangat biasa dan penting. Vue dan Element-UI pada masa ini merupakan rangka kerja bahagian hadapan yang sangat popular. Ia menyediakan banyak alat dan komponen berkuasa yang boleh membantu kami melaksanakan fungsi penapisan dan carian data dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi ini dan memberikan contoh kod terperinci. Pertama, kita perlu menyediakan a

Cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi isihan seret dan lepas Prakata: Dalam pembangunan web, fungsi isihan seret dan lepas ialah fungsi biasa dan praktikal. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi pengisihan seret dan lepas dan menunjukkan proses pelaksanaan melalui contoh kod. 1. Persediaan persekitaran dan pemasangan Node.js Sebelum memulakan, anda perlu memasang Node.js. Anda boleh melawati https://nodejs.org/ untuk memuat turun dan memasang versi yang sepadan dengan sistem pengendalian. Pasang VueCL

Cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi pemberitahuan mesej Dengan pembangunan berterusan teknologi bahagian hadapan, semakin banyak laman web dan aplikasi perlu melaksanakan fungsi pemberitahuan mesej untuk memaparkan maklumat penting kepada pengguna tepat pada masanya. Dalam pembangunan Vue, fungsi ini boleh direalisasikan dengan cepat dengan menggabungkan rangka kerja Elemen-UI. Artikel ini akan memperkenalkan secara terperinci cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi pemberitahuan mesej dan memberikan contoh kod yang berkaitan. 1. Kerja penyediaan dilaksanakan menggunakan Vue dan Element-UI

Cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi kotak drop-down berbilang peringkat Pengenalan: Dalam pembangunan web, kotak drop-down pautan berbilang peringkat ialah kaedah interaksi yang biasa. Dengan memilih pilihan dalam kotak drop-down, kandungan kotak drop-down berikutnya boleh diubah secara dinamik. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi ini dan memberikan contoh kod. 1. Penyediaan Pertama, kita perlu memastikan bahawa Vue dan Element-UI telah dipasang. Ia boleh dipasang melalui arahan berikut: npmins

Cara menggunakan Vue dan Element-UI untuk mengumpulkan dan meringkaskan data Dalam pembangunan bahagian hadapan, kami sering menghadapi situasi di mana kami perlu mengumpulkan dan meringkaskan data. Vue ialah rangka kerja JavaScript yang sangat popular, dan Element-UI ialah pustaka komponen berdasarkan Vue Ia menyediakan set kaya komponen UI yang boleh membantu kami membina halaman dengan cepat. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk mengumpulkan dan meringkaskan data, dan menggambarkannya dengan contoh kod. Kerja persediaan
