过滤记录时,角网格隐藏

时间:2017-05-24 17:07:11

标签: javascript angularjs angular-grid

我正在使用angulargrid,我有产品数组$scope.products,并从数据库中获取记录,一切都很完美,网格正在显示。

当我应用过滤器时,我会从数据库中查询记录并将记录重新分配给$scope.products但网格消失。所以我申请angularGridInstance.gallery.refresh()但不起作用。

之后我添加2秒的超时,然后使用angularGridInstance.gallery.refresh()刷新网格,在这种情况下,网格开始显示。

我不想在每次过滤记录时添加2秒延迟。请建议任何更好的解决方案。

这是我调用过滤器查询的下拉列表

<select ng-model="selectedMerchants" id="test" class="ui fluid dropdown" ng-change="filterUpdate(selectedMerchants)">
    <option ng-repeat="s in suppliers" value="{{s.id}}">{{s.name}}</option>
</select>

这是网格布局

<ul class="dynamic-grid" angular-grid="pics" ag-grid-width="300" ag-gutter-size="10" ag-id="handleBarGrid">
   <li class="grid md-whiteframe-2dp" id="product{{p.id}}" ng-repeat="p in products">
     // some data
    </li>
</ul>

这是控制器逻辑

$scope.filterUpdate = function(){
  var promise = asyncFilterResult(filterUpdateQuery); // filter query which fetch the records from database
  promise.then(function(productsData) {
    $scope.products = productsData;
    angularGridInstance.handleBarGrid.refresh();
    console.log("Success");
  }, function(reason) {
    angularGridInstance.handleBarGrid.refresh();
  });

}

感谢。

0 个答案:

没有答案