【问题标题】:Problems using successCallback in ag-grid在 ag-grid 中使用 successCallback 的问题
【发布时间】:2019-07-22 16:10:35
【问题描述】:

我有一个带有 ag-grid 网格(无限模型)的 vue 组件。在执行 setDatasource 之后,我想直接在组件的另一个方法中访问它的参数以使用 successCallback。

总而言之,我找不到参数在哪里。

我试过了:

this.gridApi.params.successCallback(data, totalRows)

this.gridOptions.params.successCallback(data, totalRows)

this.params.successCallback(data, totalRows)

有什么建议吗?

【问题讨论】:

    标签: vue.js ag-grid


    【解决方案1】:

    基本上,您已经错过了农业网格如何使用dataSource 运行的全部流程。

    所以根据official docIDatasource looks 这样:

    interface IDatasource {
        /** If you know up front how many rows are in the dataset, set it here. Otherwise leave blank.*/
        rowCount?: number;
    
        /** Callback the grid calls that you implement to fetch rows from the server. See below for params.*/
        getRows(params: IGetRowsParams): void;
    
        destroy?(): void;
    }
    

    让我们深入了解getRowsIGetRowsParams接口(只需要它的一部分)

    /** Params for the above IDatasource.getRows() */
    export interface IGetRowsParams {
        ....
        successCallback(rowsThisBlock: any[], lastRow?: number): void;
        ...
    }
    

    如您所见,successCallback 只能通过dataSource 访问,并且完全可以通过getRows 方法访问,这意味着您不必通过gridAPI 直接访问。它应该定义一次(如dataSource),然后ag-grid 将仅在需要时执行getRows

    可能的解决方案(不推荐使用,切dataSource主要用于无限滚动并自动填充新数据)

    您可以将params.successCallback 绑定到您自己的属性并随时执行它

    这是simple hack example(检查successCallbackBinding

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 2021-01-06
      • 2021-06-14
      • 2020-05-26
      • 2018-08-17
      • 2020-06-11
      相关资源
      最近更新 更多