我试图在树形结构中显示分层数据。当用户搜索名称时,我试图使用自定义过滤器“getSelectedNames”。但不幸的是我无法过滤它。请帮帮我。
MyApp.filter('getSelectedNames', function () {
return function (data, name) {
var arr = [];
var recFun = function (input) {
angular.forEach(input, function (item) {
if (item.name == name) {
arr.push(item);
return arr;
}
else if (item.children) {
rec(item.children);
}
return arr;
});
};
recFun(data);
}
});
<div class="form-group">
<input type="text" ng-model="activeName" placeHolder="Enter name to search">
<ul ng-repeat="parent in filteredNames = (Names | getSelectedNames: activeName)">
<li>
{{parent.name}}
<ul>
<li style="margin-left: 20px;" ng-repeat="child in parent"> {{child.name}}</li>
</ul>
</li>
</ul>
</div>