Получение текущих данных таблицы из Ant Design Table - PullRequest
0 голосов
/ 14 мая 2019

Я использую Ant design table для отображения некоторых данных.Новые данные поступают каждую секунду.Когда пользователь нажимает кнопку, мне нужно экспортировать данные текущей таблицы в XSL.

Я получаю текущие данные следующим образом:

onChange={(pagination, filter, sorter, currentTable) => this.onTableChange(filter, sorter, currentTable)}. 

Это работает и дает мне хорошие и отфильтрованные данные, но когда я получаю новые данные, я не могу получить эти новыеданные, потому что эта функция не срабатывает, пока ни один из фильтров или настроек сортировки не изменился.Есть ли способ получить текущие данные таблицы без фиктивного изменения фильтра для запуска функции onChange?

Заголовок и нижний колонтитул возвращают только данные текущей страницы.

Код здесь отображается

 {    <Table
                    dataSource={this.props.data}
                    rowKey={(record) => { return record.id}}
                    columns={this.state.Columns}
                    pagination={this.state.pageSizeOptions}
                    rowClassName={(record) => { return 
this.getRowClassNames(record) }}
                    expandedRowKeys={ this.state.expandedRowKeys }
                    expandedRowRender={record => { return 
this.getEventsRows(record) }}
                    onExpand={(expanded, record) => { 
this.onExpandRow(expanded, record.id) }}
                    expandRowByClick={false}
                    onChange={(pagination, filter, sorter, currentTable) 
=> this.onTableChange(filter, sorter, currentTable)}
                />
 }

1 Ответ

1 голос
/ 18 июля 2019

Вы можете хранить данные разбивки на страницы, сортировки и фильтрации в состоянии вашего компонента. Также вы можете передать эти параметры в ваше состояние и сохранить его. Если вы можете поделиться своим кодом, я могу дать более конкретные ответы.

Ниже вы можете найти мое решение для постоянного фильтра. Я отправлял параметры фильтра в API и получал отфильтрованные данные. Если вы хотите отфильтровать его в компоненте, вы можете использовать жизненный цикл компонента или метод визуализации.

onTableChange(pagination, filter, sorter){
    const { params, columns } = this.state;

    /** You can do any custom thing you want here. Below i update sort type in my state and pass it to my redux function */
    if(sorter.order != null)
        params.ordering = (sorter.order === 'descend' ? "-" : "")+ sorter.columnKey.toString();

    this.setState({params});
    this.props.listUsers(this.state.params);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...