私はng-repeat
にあるフィルタを持ち、ネストされたものを含むすべてのオブジェクトの文字列を検索文字列と比較します。検索文字列がオブジェクト内にある場合、trueを返します。すべての子要素を返すネストされたオブジェクトのフィルタ
検索文字列がオブジェクトの文字列と一致すると、フィルタはそのオブジェクトに対してtrueを返し、一致するオブジェクト内のすべてのネストされたオブジェクトに対してtrueを返すように、この機能を拡張する方法を探していますこれはツリービューです。ノードを検索していて、一致したときにすべての子ノードを表示したい)。
どうすればいいですか?
私のフィルタは、次のようになります。私が見つけ
.filter('deepFilter', function ($filter) {
return function(text) {
return function (value) {
if(text && text.length > 0) {
var searchTerm = text;
if (angular.isObject(value)) {
var found = false;
angular.forEach(value, function(v) {
found = found || $filter('deepFilter')(searchTerm)(v);
});
return found;
} else if (angular.isString(value)) {
if (value.indexOf(searchTerm) !== -1) {
return true;
} else {
return false;
}
}
} else {
return true;
}
};
};
});