【问题标题】:Using select filter in ngTable在 ngTable 中使用选择过滤器
【发布时间】:2017-04-03 23:20:46
【问题描述】:

我正在尝试使用选择值过滤列的 ngTable example。 HTML代码(表格部分)

 <table ng-table="tableParams" class="table" show-filter="true">
  <tbody>
    <tr ng-repeat="row in $data">
      <td data-title="'Name'" filter="{name: 'select'}" filter-data="names" sortable="'name'">{{ row.name }}</td>
      <td data-title="'Age'" filter="{age: 'text'}" sortable="'age'">{{ row.age }}</td>
    </tr>
  </tbody>
</table>

Javascript 代码

var app = angular.module('ngTableApp', ['ngTable'])
      .controller('selectFilterController', function($scope, $filter, $q, NgTableParams) {
        var data = [{name: "Moroni", age: 50},
                    {name: "Tiancum", age: 43},
                    {name: "Jacob", age: 27},
                    {name: "Nephi", age: 29},
                    {name: "Enos", age: 34},
                    {name: "Tiancum", age: 43},
                    {name: "Jacob", age: 27},
                    {name: "Nephi", age: 29},
                    {name: "Enos", age: 34},
                    {name: "Tiancum", age: 43},
                    {name: "Jacob", age: 27},
                    {name: "Nephi", age: 29},
                    {name: "Enos", age: 34},
                    {name: "Tiancum", age: 43},
                    {name: "Jacob", age: 27},
                    {name: "Nephi", age: 29},
                    {name: "Enos", age: 34}
                ];
        $scope.names = ['Moroni', 'Enos', 'Nephi'];
        $scope.tableParams = new NgTableParams({page: 1, count: 10}, {dataset: data});

      })

当我运行此代码plunker 时,“名称”列的选择值为空白。

example

选择过滤器将通过调用为列定义的 fetchData 函数来获取其数据。

但是,在该示例的代码中没有调用 fetchData 函数。我很困惑,这里有什么问题?

【问题讨论】:

  • 检查plunker中的错误..
  • @RayonDabre 看起来像是 plunker 的问题。我本地机器中的相同代码没有显示错误(但我的问题中提到了相同的问题)。

标签: javascript angularjs ngtable


【解决方案1】:

example 我发现 ng-table 用于 HTML 中 filter-data 属性的格式(用于选择值)是下面的表格。

$scope.names = [{id: "", title: ""}, {id: 'Moroni', title: 'Moroni'}, {id: 'Enos', title: 'Enos'}, {id: 'Nephi', title: 'Nephi'}];

更新plunker

【讨论】:

    【解决方案2】:

    应该写成:

    $scope.names = [{"id": "", "title": ""}, {"id": "Moroni", "title": "Moroni"}];
    

    【讨论】:

      猜你喜欢
      • 2015-10-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多