[英]md-autocomplete is not showing text
我正在使用md-autocomplete
進行自動完成,但是由於某種原因,下拉列表不包含我希望它包含的文本。 這是該問題的簡化演示:
<md-autocomplete flex
md-search-text="searchText"
md-input-name="p"
md-items="item in search(searchText)"
md-item-text="item.display"
md-floating-label="Name"
md-delay="100"
>
</md-autocomplete>
$scope.search = function(){
return $q.resolve([{
value: 1,
display: "one"
}, {
value: 2,
display: "two"
}, {
value: 3,
display: "three"
}]);
};
看看這個fiddle來演示這個問題。
您尚未在md-autocomplete
包含md-item-template
。 您的md-autocomplete
應如下所示:
<md-autocomplete flex
md-search-text="searchText"
md-input-name="p"
md-items="item in search(searchText)"
md-item-text="item.display"
md-floating-label="Name"
md-delay="100"
>
<md-item-template>
<span md-highlight-text="searchText" md-highlight-flags="^i">{{item.display}}</span>
</md-item-template>
</md-autocomplete>
這是您的代碼的工作分支。
<md-autocomplete flex
md-search-text="searchText"
md-items="item in search(searchText)"
md-item-text="item.display"
md-floating-label="Name"
md-delay="100">
<span md-highlight-text="searchText" md-highlight-flags="^i">
{{item.display}}</span>
<md-not-found>
Searchtext is invalid
</md-not-found>
</md-autocomplete>
AngularJS:
$scope.search = function(parum){
var result = [{
value: 1,
display: "one"
}, {
value: 2,
display: "two"
}, {
value: 3,
display: "three"
}];
this.result = param ? this.result.filter(function(item) {
return (item.display.toUpperCase().indexOf(param.toUpperCase()) > -1);}) :
this.result
return this.result
};
這是使用 md-autocomplete 的完美方式,我更喜歡在 input 標簽中使用 angular,因為 md-autocomplete 包含許多故障和錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.