2016-03-28 8 views
0

スマートテーブル内のネストされた要素内を検索する方法はありますか?私は、次の形式で構成されていREST APIからデータを持つテーブルを養う:私が達成したい何入れ子オブジェクト内のスマートテーブルst-search

{ 
    "id": 1, 
    "small_name": "Foo", 
    "large_name": "Bar Foo", 
    "variants": [{"value": "0"}, {"value": "1"}] 
} 

variants内のオブジェクトのvalueプロパティを介してデータをフィルタリングする可能性があります。スマート表のドキュメントから

答えて

0

:。stSearchのデフォルト動作では、あなたの要求を満たしていない場合は選択にエントリが1つのサブある場合のように

「stSetFilterは、スマート表を検索する際に使用するフィルタを置き換えますもう1つ、カスタムフィルタを使用して目標を達成してください。 http://lorenzofox3.github.io/smart-table-website/

また、そのサイトで利用できる例もあります。

+0

ありがとうございました。私は 'smart-table'サイトにもっと注意を払うべきでした。私はそのフィルタを実行できたからです。 –

0

私の問題のために解決策を投稿します。おそらく誰かを助けることができます。

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; 
     } 
    } 
]) 
関連する問題