我正在使用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();
});
}
感谢。