Vue-Element之带输入提示的操作人输入框

2017-10-06  本文已影响0人  晔子与Bug的战斗史
isGetUserList:true,
//具体实现函数
getUserList(){
  let body = {
    mobile: '',
    uid: '',
    userName: '',
  };
  let url = this.common.App.rootPath + "/ocm/user/getUserList";
  this.common.httpPost('',body,url)
    .then(res => {
      if(res.data.meta.code === 0){
        this.userList = res.data.data;
      }
    })
    .catch(err => {
      console.log('获取联系人失败:');
      console.log(err);
    })
},
<el-form-item label="操作人:" class="item-33">
  <el-autocomplete v-model="formData.operatorName" placeholder="请输入"
                  :fetch-suggestions="showSuggestions" style="width:217px;"
                  :trigger-on-focus="false"></el-autocomplete>
</el-form-item>

showSuggestions(queryString,cb) {
  //传入的userList数组中,各对象需有userName字段
  let arr = this.common.userSuggestions(queryString,this.userList);
  cb(arr)
},
userSuggestions = (queryString, userList) => {
  let arr = [], results = [];
  if (queryString) {
    arr = userList.filter((val) => {
      let index = val.userName.indexOf(queryString.toLowerCase());
      if (index !== -1) {
        results.push({'value': val.userName, 'id': index,'uid':val.uid})
      }
      return (index !== -1);
    });
  }
  //按相关度排序
  results.sort((a, b) => {
    return (a.id - b.id);
  });
  return results;
},
if(obj.operatorName){
  let userId = 0;
  for(let val of this.userList){
    if(val.userName === obj.operatorName){
      userId = val.uid;
    }
  }
  obj.applicantId = userId;
}
上一篇 下一篇

猜你喜欢

热点阅读