angularjs - 如何在 ngTable 中组合客户 header 和过滤器

标签 angularjs ngtable

我想创建一个 ngTable,它是 ngTable site 中#4(过滤器)和#18(自定义 header )示例的组合。 .我无法让它工作。谁能给我举个例子?谢谢!

最佳答案

由于仅通过融合这两个示例似乎确实不起作用,因此我已根据 ng-table 站点的示例 #18 为您创建了一个新表,请参阅 http://bazalt-cms.com/ng-table/example/18 .

首先,我添加了一个带有 ng-model 的新输入字段,以便输入到该字段中的用户输入可以绑定(bind)到 angularjs 脚本。像这样:

<tr>
    <th colspan="3">
        <input class="form-control" type="text" ng-model="filters.myfilter" placeholder="Filter"  />
    </th>
</tr>

为了让变量被表用作过滤器,必须按以下方式“声明”并附加到 ng-table ( https://github.com/esvit/ng-table/wiki/Configuring-your-table-with-ngTableParams ):

$scope.filters = {
    myfilter: ''
};

$scope.tableParams = new ngTableParams({
            page: 1,            
            count: 10,           
            filter: $scope.filters, //now the filter is attached to the ng-table
        }

最后,我在示例 #6 ( http://bazalt-cms.com/ng-table/example/6 ) 中使用了过滤脚本的略微修改版本来过滤上述变量(由 ng-model 绑定(bind))。

这是过滤和排序数据的 getData 函数:

getData: function($defer, params) {

    var filtered_data = params.filter() ? $filter('filter')(data, params.filter().myfilter) : data;
    filtered_data = params.sorting() ? $filter('orderBy')(filtered_data, params.orderBy()) : filtered_data;

    $defer.resolve(filtered_data.slice((params.page() - 1) * params.count(), params.page() *   params.count()));
}

这对我有用。

您可以在这个 Plunk 上找到表格:http://plnkr.co/edit/ntnNqxmKsQoFmSbo0P57?p=preview

关于angularjs - 如何在 ngTable 中组合客户 header 和过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24761587/

相关文章:

javascript - AngularJS ngTable 中每行的按钮

html - 搜索栏标题

javascript - Angular 访问具有动态名称的 $scope 对象

angularjs - ng-Table 重新加载请求时不呈现新数据

javascript - 如何在没有分页装饰的情况下呈现 ngTable?

javascript - 如何反转 ng-table 中列的排序顺序(升序优先)?

javascript - Angular js,必须使用模型值动态设置 ngTable 数据标题

javascript - HTMLImageElemen.src 在哪里处理 HTMLImageElemen?

javascript - 在 AngularJS 中,如何加载隐藏元素的页面?

css - angular-ui-select 中的多行(自动换行)选择选项