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 { 总结以上所述是小编给大家介绍的vue Element-ui input 远程搜索与修改建议显示模版的示例代码。编程之家 52php.cn 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |