ng-grid 单击网格时影响过滤

ng-grid filtration affected when clicking on the grid

我开发了一个使用 ng-grid 以表格格式显示数据的代码。在这里,需要应用自定义过滤器。网格中有两列,即 ID 和 Title。还有一个包含标题的建议输入框。当从输入框中 selected 任何标题时,应根据 selected 标题过滤网格中的数据。

下面是实现功能的代码。

HTML

<div ng-app="myApp" ng-controller="MyCtrl">
<div class="gridStyle" ng-grid="gridOptions"></div>
<div style="position: relative; height: 80px;">
    <input type="text" name="country" id="autocomplete-ajax" style="position: absolute; z-index: 2; background: transparent;"/>
    <input type="text" name="country" id="autocomplete" disabled="disabled" style="color: #CCC; position: absolute; background: transparent; z-index: 1;"/>
</div>  

JS

// binding unique names to the suggestions pluggin for filter.
    $('#autocomplete-ajax').devbridgeAutocomplete({
        lookup: $scope.unique,
        minChars: 1,
        onSelect: function (suggestion) {
            console.log(suggestion);
            $scope.filterSearch('Title',suggestion.value);
        },
        showNoSuggestionNotice: true,
        noSuggestionNotice: 'Sorry, no matching results'            
    });

// configuring ng-grid options
    $scope.gridOptions = { 
        data: 'videoColl',
        showGroupPanel: false,
        jqueryUIDraggable: false,
        showFilter: false,          
        multiSelect:false,
        filterOptions: $scope.filterOptions
    };
    $scope.filterSearch = function(searchField,searchText) {
    var filterText = searchField + ':'+ searchText;
    $scope.filterOptions.filterText = filterText;       
  };

当我 select 来自 autocomplete-ajax 的任何标题时,它会过滤数据,但当我 select 任何标题时,更改不会显示在网格中,相反,数据已更改在 select 任何标题后单击网格时在网格中。

我缺少什么才能完美地工作?

您在更改过滤器数据后错过了 $scope.$apply() 来电。

jQuery 超出了 angular 的范围,因此您需要手动调用摘要循环以将数据更改应用到您的 html。