繁体   English   中英

如何在Ag-Grid过滤器中使用AngularJS 1?

[英]How to use AngularJS 1 in Ag-Grid filters?

我想在AngularJS中为Ag-Grid 5.2.0创建一个过滤器。 这是我的代码:

    var columnDefs = [
        {headerName: "Test1", field: "test1", filter: MyCustomFilter},
        {headerName: "Test2", field: "test2"},
    ];         

    vm.gridOptions = {
        enableServerSideSorting: true,
        enableServerSideFilter: true,
        columnDefs: columnDefs,
        datasource: getDataSource(),
        paginationPageSize: 10,
        rowModelType: 'pagination'
    };

    // Class function.
    function MyCustomFilter() {}

    // mandatory methods
    MyCustomFilter.prototype.init = function (params) {};
    MyCustomFilter.prototype.getGui = function () {return "<div>{{ 'testkey' | translate}}</div>"};
    MyCustomFilter.prototype.isFilterActive = function() {return true;};
    MyCustomFilter.prototype.doesFilterPass = function (params) { return true;};
    MyCustomFilter.prototype.getApi = function () {};

问题在于AngularJS不评估转换过滤器。 如何将AngularJS元素添加到Ag-Grid过滤器?

我想出了解决方案:

function getGui() {
    var filterScope = $rootScope.$new(true);
    var filter = $compile("<div>{{ 'testkey' | translate}}</div>")(filterScope);
    filterScope.$digest();
    return filter[0];
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM