我的自动填充功能
中有以下内容md-autocomplete(flex-gt-sm="50"
placeholder="Select label or enter new label",
md-selected-item="ctrl.node.label",
md-items="item in ctrl.getLabels() | filter:ctrl.labelSearchText",
md-item-text="item",
md-search-text="ctrl.labelSearchText",
md-floating-label="Label")
md-item-template
span {{item}}
以下为getLabels
this.getLabels = function() {
return Restangular.all('label').getList();
};
当我运行此代码时,它不会过滤结果,而是获得整个列表。有没有办法过滤这些结果?
答案 0 :(得分:1)
我不确定您是否可以使用标签本身的角度过滤器进行过滤。但您可以使用javascript函数中的lodash.filter或角度过滤器来执行此操作。
md-autocomplete(flex-gt-sm="50"
placeholder="Select label or enter new label",
md-selected-item="ctrl.node.label",
md-items="item in ctrl.getLabels(ctrl.labelSearchText)",
md-item-text="item",
md-search-text="ctrl.labelSearchText",
md-floating-label="Label")
md-item-template
span {{item}}
getLabels
功能。
this.getLabels = function(searchText) {
return this.$q(function (resolve) {
Restangular.all('label').getList().then(function (result) {
resolve(_.filter(result.data, function(label) {
// filter here, simple case string equality
return label === searchText;
}));
});
});
};