angularjs过滤表格

时间:2016-08-10 06:48:51

标签: angularjs angularjs-filter

<div class="nocursor">
  Bye cursor!
</div>

我想在用户选择复选框排除非成员时过滤值。

因此,非成员数组具有用户ID。

<tbody>
        <tr ng-repeat="y in Summary">
            <td>{{y.ID}}</td>                       
            <td>{{y.submitTime}}</td>
            <td>{{y.timeTaken}}</td>
            <td>{{y.description}}</td>
        </tr>
</tbody>

因此,当用户选中该复选框时,我想删除具有非成员ID的行。可以使用过滤器搜索整个数组吗? 或ng-show / hide / if可以使用??

1 个答案:

答案 0 :(得分:3)

过滤器可以做到。

例如:

angular
    .module( ... )
    .filter( 'excludeNonMembers', function(){
        return filterMembers;
    } );

function filterMembers( summary, nm, exclude ){
    if(!exclude) return summary;
    if( !nm || nm.length == 0 ) return summary;
    return summary.filter( function( i ){
        return nm.indexOf( i.ID ) == -1;
    } );
}

在你的HTML中:

 <tr ng-repeat="y in summary | filter:excludeNonMembers:Nonmember:exclude"> 

$scope.exclude变量是一个布尔值,您可以在某处切换以应用过滤器。