首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >md-autocomplete不过滤?

md-autocomplete不过滤?
EN

Stack Overflow用户
提问于 2016-06-09 04:17:02
回答 1查看 1.8K关注 0票数 0

我正在尝试让angular-material库中的md-autocomplete正常工作,文档有点难理解。

这是我的html

代码语言:javascript
复制
<md-autocomplete
  md-items="lawyer in cdc.lawyers"
  md-selected-item-change="testing(lawyer)"
  md-min-length="0"
  md-item-text="lawyer.name"
  md-search-text="cdc.lawyerSearchText"
  md-search-text-change="cdc.triggerQuery(cdc.lawyerSearchText);"
  placeholder="Search for lawyer">
  <md-item-template>
    <span md-highlight-text="cdc.lawyerSearchText" md-highlight-flags="^i">{{lawyer.name}}</span>
  </md-item-template>
  <md-not-found>
    No states matching "{{lawyer.name}}" were found.
  </md-not-found>
</md-autocomplete>

这是javascript

代码语言:javascript
复制
this.lawyerSearchText = '';

this.triggerQuery = function(query){
  console.log(query);
  this.lawyerSearchText = query;
}

如果我在输入中输入胡言乱语,它会显示所有的lawyers,但不会过滤它们。

我在这里做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-06-09 04:42:33

我通过filter函数传递列表的数量,所以你的md-items应该是:

代码语言:javascript
复制
md-items="lawyer in cdc.triggerQuery(cdc.lawyers")

然后,我通常会调用$http来检索过滤后的列表,但在本例中,我认为在triggerQuery函数中,会返回过滤后的数组。类似于:

代码语言:javascript
复制
this.triggerQuery = function(query){
    return this.lawyers.filter( function(lawyer) { return lawyer.indexOf(query)>-1) })
}

但在使用query时,我使用的是自动补全绑定到的ng-model值。如果这还不够,请发布控制器的所有相关部分,我可以对其进行扩展。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37712112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档