Angular JS智能表过滤集合

时间:2015-03-22 12:48:28

标签: angularjs smart-table

在智能表格中过滤后的过滤后的集合在哪里。

该表与rowCollection绑定。

<table st-safe-src="rowCollection" st-table="displayed" class="table table-bordered">

我使用过搜索过滤器:

<input type="text" id="regionFilter" st-search="region" />

结果过滤后,我仍会看到rowCollection

中的所有记录

1 个答案:

答案 0 :(得分:6)

您可以创建一个指令来访问获取过滤的Collection。例如:

HTML:

<table 
    st-table="displayedCollection" 
    st-safe-src="rowCollection" 
    on-filter="onFilter">

<强>使用Javascript:

//
// Create a directive
//
angular.module("smart-table").directive('onFilter', function () {
    return {
        require: '^stTable',
        scope: {
            onFilter: '='
        },
        link: function (scope, element, attr, ctrl) {

            scope.$watch(function () {
                return ctrl.tableState().search;
            }, function (newValue, oldValue) {
                scope.onFilter(ctrl);
            }, true);
        }
    };
});

//
// In your controller
//
$scope.onFilter = function (stCtrl) {
    var filtered = stCtrl.getFilteredCollection();
}