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('div', { 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>
总结
以上所述是小编给大家介绍的vue Element-ui input 远程搜索与修改建议显示模版的示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍layui实现显示数据表格、搜索和修改功能示例,包括了layui实现显示数据表格、搜索和修改功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了layui实现显示数据表格、搜索和修改功能。分享给大家供大家参考,具体如下: 引用样式和js,这是必须的。 后台返回数据格式 数据表格单元格数据修改 在表格初始化的时候加上 'edit':'text' 就可以编辑 然后再添加一个监
本文向大家介绍bootstrap模态框远程示例代码分享,包括了bootstrap模态框远程示例代码分享的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了bootstrap模态框远程的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
问题内容: 当前,我正在使用Lucene 3.0.2版创建类似于字典的搜索应用程序。我要显示的对象之一是一种“示例”,其中Lucene将在书中寻找一个单词,然后显示使用该单词的句子。 我一直在阅读《 Lucene in Action》一书,其中提到了类似的内容,但通过浏览我找不到其他提及。这是Lucene可以做的吗?如果是,您该怎么办? 问题答案: 我相信您正在寻找的是荧光笔。 一种可能是使用lu
本文向大家介绍JavaScript实现的搜索及高亮显示功能示例,包括了JavaScript实现的搜索及高亮显示功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现的搜索及高亮显示功能。分享给大家供大家参考,具体如下: 情景: 用来筛选列表中的数据, 由于单条数据很简短, 没有用php+mysql去实现筛选功能, 只用javascript进行筛选, 匹配的高亮,
本文向大家介绍Pandas读取并修改excel的示例代码,包括了Pandas读取并修改excel的示例代码的使用技巧和注意事项,需要的朋友参考一下 一、前言 最近总是和excel打交道,由于数据量较大,人工来修改某些数据可能会有点浪费时间,这时候就使用到了Python数据处理的神器—–Pandas库,话不多说,直接上Pandas。 二、安装 这次使用的python版本是python2.7,安装py
输入出发地和抵达地,可搜索前往目的地的路径。 轻触(选项)>[搜索路径],在出发地与抵达地的字段各自输入关键词并轻触[搜索]。地图会显示最短路径。 可从书签中选择出发地及抵达地。请轻触(书签),选择地点。 A ) (徒步)/(乘车) 可选择路径的移动方式。轻触即会以选择的移动方式搜索最短路径。 B ) 与目的地间的距离及所需时间 C ) (显示列表)/(隐藏列表) 轻触即可将搜索结果列表切换为显示