Проблемы с использованием successCallback в ag-grid - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть компонент vue с сеткой ag-grid (бесконечная модель).Я хочу получить доступ к его параметрам, чтобы использовать successCallback, непосредственно в другом методе компонента, после выполнения setDatasource.

Подводя итог, я не могу найти, где находятся параметры.

Iпопробовал:

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

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

this.params.successCallback(data, totalRows)

Любой совет?

1 Ответ

0 голосов
/ 02 марта 2019

По сути, вы пропустили полный поток того, как работает ag-grid с dataSource.

Так что в соответствии с официальным документом , IDatasource выглядит вот так:

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;
}

Давайте углубимся в интерфейс getRows и IGetRowsParams (необходима только его часть)

/** 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 к своему собственному свойству и выполнять его всякий раз, когда захотите

, вот простой взломпример (отметьте successCallbackBinding)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...