2016-06-08 46 views
0

我試圖讓md-autocompleteangular-material圖書館工作,文檔有點難以理解。md-autocomplete沒有過濾?

這裏是我的html

<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的

this.lawyerSearchText = ''; 

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

它會顯示所有的lawyers,但如果我在輸入類型廢話不多過濾。

enter image description here

我在做什麼錯在這裏?

+0

您的查詢是否從triggerQuery函數記錄到控制檯? –

+0

是的,輸入的字符 –

回答

1

我通過過濾器功能列表的人口,所以你md-items是:

md-items="lawyer in cdc.triggerQuery(cdc.lawyers") 

,然後我通常做的$ HTTP調用來檢索篩選列表存在,但在你的情況下,我認爲在你的triggerQuery函數中你會返回已過濾的數組。喜歡的東西:

this.triggerQuery = function(query){ 
    return this.lawyers.filter(function(lawyer) { return lawyer.indexOf(query)>-1) }) 
} 

但如果你正在使用的查詢,我現在用的是ng-model值的自動完成,勢必。如果這還不夠,發佈控制器的所有相關部分,我可以擴展它。