加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vue Element-ui input 远程搜索与修改建议显示模版的示例代码

发布时间:2020-12-17 02:45:35 所属栏目:百科 来源:网络整理
导读:html: js: css: 总结 以上所述是小编给大家介绍的vue Element-ui input 远程搜索与修改建议显示模版的示例代码。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。

html:

js:

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; } }  

css:

.name {
text-overflow: ellipsis;
overflow: hidden;
}
.addr {
font-size: 12px;
color: #b4b4b4;
}

.highlighted .addr {
color: #ddd;
}
}
.ems {
font-size: 12px;
color: #b4b4b4;
}
}

 

总结

以上所述是小编给大家介绍的vue Element-ui input 远程搜索与修改建议显示模版的示例代码。编程之家 52php.cn 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读