有什么方法可以在智能表内嵌套元素搜索?我喂的数据表从由以下形式的REST API:智能表st-search嵌套对象内
{
"id": 1,
"small_name": "Foo",
"large_name": "Bar Foo",
"variants": [{"value": "0"}, {"value": "1"}]
}
我想要实现的是通过variants
内的对象的value
属性来过滤数据的可能性。
有什么方法可以在智能表内嵌套元素搜索?我喂的数据表从由以下形式的REST API:智能表st-search嵌套对象内
{
"id": 1,
"small_name": "Foo",
"large_name": "Bar Foo",
"variants": [{"value": "0"}, {"value": "1"}]
}
我想要实现的是通过variants
内的对象的value
属性来过滤数据的可能性。
从智能表文档:
“的stSetFilter取代通过智能表搜索时,当stSearch默认的行为不符合你的要求,比如在选择使用的过滤器,其中一个条目的子字符串。另一个,使用自定义过滤器来实现你的目标。“ http://lorenzofox3.github.io/smart-table-website/
该网站还有一个示例可用。
我会发布我的问题的解决方案,也许它可以帮助某人。
angular.module('YourModule').filter('CustomFilter', [
'$parse',
function ($parse) {
return function(items, filters) {
console.log(items, filters);
var itemsLeft = items.slice();
Object.keys(filters).forEach(function (model) {
var value = filters[model],
getter = $parse(model);
itemsLeft = itemsLeft.filter(function (item) {
if (model === 'value') {
var variants = item.variants.filter(function (variant) {
return getter(variant).match(value);
});
return variants.length;
} else {
return getter(item).match(value);
}
});
});
return itemsLeft;
}
}
])
谢谢。我应该更多地关注'smart-table'网站,这要归功于我能够做到这一点。 –