2016-08-09 5 views
0

コレクション情報を表示するには、AngularJSのプラグインsmart-tableを使用しています。 searchまたはsort操作が実行されるたびにトリガーされるstPipe機能を使用して、バックエンドAPIと同じ機能を統合しました。しかし、私はフィルターの役割を果たすテーブルの上にいくつかのボタンを配置したい。これらのボタンのいずれかをクリックすると、スマートテーブルのstPipe機能が起動され、バックエンドAPIがヒットしてフィルタリングされた結果が取得されます。どうすればこれを達成できますか?AngularJSスマートテーブル:ボタンを使用してデータの定義済みフィルタを設定する方法は?

答えて

1

解決策は、コントローラの変数にテーブル状態を設定することです。

callServer関数が呼び出されるたびに、この変数が更新されます。この方法で、テーブルを更新することができます。

このコードでは、callServerはstPipe関数で、外部ボタンはrefreshGrid()関数を呼び出します。

this.tableState = null; 

this.callServer = function callServer(tableState) { 
    ctrl.tableState = tableState; 
    ... 
} 

this.refreshGrid = function(){ 
    ctrl.callServer(ctrl.tableState); 
} 

私は前にこれを必要とし、私はこの質問で解決策を掲載している:Smart table - angularJs - ajax refresh table

関連する問題