input模糊匹配 组件赋值问题

Posted wplcc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了input模糊匹配 组件赋值问题相关的知识,希望对你有一定的参考价值。

<template>
<el-autocomplete
v-model="svalue"
:fetch-suggestions="querySearchAsync"
placeholder="请输入内容"
size="small"
@select="setUserInfo"
></el-autocomplete>
</template>

<script>
import getUserList from ‘@/api/dictionary_option‘

export default
data()
return
restaurants: [],
svalue: this.value
;
,
props:
value:
type: String
//接受外部v-model传入的值
,
watch:
//判断下拉框的值是否有改变
value(val)
this.svalue = val;//②监听外部对props属性value的变更,并同步到组件内的data属性svalue中
,
svalue(val, oldVal)
if(val == "")
this.$emit(‘input‘, this.svalue);

,
,
methods:
getList()
let that = this;
return getUserList(that.svalue)// 获取用户列表
.then((res) =>
let arr = [];
// el-autocomplete元素要求数组内是对象,且有value属性,此处做一个格式调整
$.each(res.data.result, function(i, item)
arr.push(
value: item.displayName, // 员工姓名+编码
sid: item.sid, // 员工id
userCode: item.userCode, // 员工编码
userName: item.userName, // 员工姓名
userNum: item.userNum // 员工工号
)
);
that.restaurants = arr;
).catch(error =>
console.log(error);
);
,
querySearchAsync(queryString, cb)
var restaurants = this.restaurants;
var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
cb(results);
,
createStateFilter(queryString)
return (state) =>
return (state.value.indexOf(queryString.toLowerCase()) === 0);
;
,
setUserInfo(item) // item为选中字段所在的对象
// console.log(item);
this.svalue = item.userName;// 输入框展示姓名
/* 子组件通过事件发射向父组件传递事件及参数,$emit即为发射事件
第一个参数为向父组件传递的事件名,第二个参数为向父组件传递的参数 */
this.$emit( ‘setUserInfo‘, item);// 回调 传参(整个对象,包括姓名、员工号)

,
mounted()
// this.svalue=this.value;//初始话下拉框的值
this.getList();

;
</script>

以上是关于input模糊匹配 组件赋值问题的主要内容,如果未能解决你的问题,请参考以下文章

xpath和contains模糊匹配

利用java ajax以及js实现input框的模糊匹配下拉显示

js模糊匹配

js模糊匹配

高亮显示 筛选 搜索元素 模糊匹配 多关键词搜索

EasyUI combobox下拉列表实现搜索过滤(模糊匹配)