Как обновить сетку после удаления строки в сетке React Ag

Я работаю над сеткой реагирования и использую функцию бесконечной прокрутки сетки. Мне нужна функция, в которой я могу удалить строку, а сетка немедленно обновит свои данные. Но функция «удалить строку» недоступна для бесконечной прокрутки.

https://www.ag-grid.com/javascript-grid-infinite-scrolling/#api-inserting-removing-rows.

Может ли кто-нибудь предложить мне все равно добиться этого?

Спасибо


person Mangesh Tak    schedule 01.08.2018    source источник


Ответы (2)


Здесь есть подсказка, если вы немного прокрутите вниз:

Не рекомендуется добавлять / удалять строки непосредственно в сетке для бесконечной прокрутки, так как это усложнит ваше приложение. Вам будет проще жить, если вы обновите данные на сервере и обновите кеш блоков.

А затем прокрутите вниз до «Пример вставки и удаления», там есть пример кода, показывающий, как удалить строки (с макетом источника данных):

function removeItem(start, limit) {
    // here you would make a call to your data source to remove the rows
    allOfTheData.splice(start, limit);
    // get fresh data from the source
    gridOptions.api.refreshInfiniteCache();
}

Попробуйте прочитать документацию внимательнее, вы задали пару вопросов, на которые в ней уже есть прямые ответы. Это все буквально на той странице, на которую вы перешли.

person thirtydot    schedule 01.08.2018
comment
Если вы не используете бесконечную прокрутку, см .: ag-grid. ru / javascript-grid-data-update / # транзакции. Есть несколько вариантов, самый простой из них: var selectedData = this.gridApi.getSelectedRows(); var res = this.gridApi.updateRowData({ remove: selectedData });. Есть демонстрация, показывающая это. - person thirtydot; 15.02.2019

Вы можете использовать следующий api сетки this.gridApi.setRowData(this.rowData);

Если вы получаете данные со стороны сервера, сначала получите данные, а затем вызовите метод setRowData().

person Rahul Tokase    schedule 14.10.2018
comment
Это рекомендуется только при использовании модели строки в памяти. - person Alberto Gutierrez; 15.10.2018
comment
Не совсем точно перед настройкой вы можете вызвать сервер для получения данных, и как только rowData станет доступным, вы можете вызвать his.gridApi.setRowData (this.rowData); функция. - person Rahul Tokase; 16.10.2018