AgGrid serverSide rowModel не распознает пользовательские компоненты наложения (загрузка и noRows)

Проблема в том, что я не могу заставить ag-grid-react автоматически отображать пользовательские компоненты для loadOverlay и noRowsOverlay (то есть управляемые самой сеткой). Я сделал все, как описано в документации.

Вот мои варианты:

frameworkComponents={{
    customOverlayLoading: CustomOverlayLoading,
    customOverlayNoRows: CustomOverlayNoRows,
}}
loadingOverlayComponent="customOverlayLoading"
noRowsOverlayComponent="customOverlayNoRows"

Интересно то, что это работает для строковой модели clientSide, например при использовании prop rowData={undefined} - loading или rowData={[]} - noRows.

Но когда я заменяю rowData на rowModelType="serverSide", сетка не распознает новые компоненты для наложения.

В документации не упоминается, что эта вещь работает только с строковой моделью clientSide. Так что я ожидаю, что это должно сработать. Я могу заставить его работать через API-интерфейс сетки. Но я ожидаю от этой функции, что она должна обрабатывать загрузку и noRows автоматически для каждой из строковых моделей. Проблема с использованием API заключается в том, что нет флага, который указывает, загружается он или нет.

есть стекблиц репродукция. Для проверки версии serverSide rowModel требуется https://stackblitz.com/edit/ag-grid-ro-model?embed=1&file=index.js.


person valerii    schedule 23.10.2018    source источник
comment
не могли бы вы воспроизвести вашу проблему на plunk или stackblitz? Узнайте, как создать минимальный воспроизводимый пример   -  person Paritosh    schedule 24.10.2018
comment
stackblitz   -  person valerii    schedule 24.10.2018


Ответы (1)


Когда вы используете rowModelType='serverSide', вам нужно вызвать overlays себя внутри getRows(), где вы реализуете datasource.

gridApi.showNoRowsOverlay(); // show NoRowsOverlay
params.successCallback([], 0); // Pass empty array, Zero for lastRow

Это будет работать. :)

person Tauqeer Nasir    schedule 01.01.2019
comment
Проверьте, получили ли вы какие-либо строки обратно, если да, hideOverlay и передайте данные и lastRow соответственно. - person Tauqeer Nasir; 01.01.2019