初始负载 AG-grid 非常慢

问题描述 投票:0回答:1

我使用的是客户端 AG-grid 版本 32.1.0。我正在渲染大量用户数据(给定 5000 个用户),AG-grid 似乎需要花费大量时间才能将数据显示在浏览器中。我的用户 json 文件大小为 3.1 MB,完全加载大约需要 11.9 秒,因此在此期间会收到“正在加载”消息。我尝试过一些方法,例如分页、rowBuffer,但没有任何帮助。看起来 AG-grid 正在一次性加载所有数据。我不确定我做错了什么。非常感谢任何帮助。下面是加载网格的代码片段。

let gridOptions = {
    columnDefs: columnDefs,
    onGridReady: (params) => {
        fetch("<%= users_path %>")
            .then(response => response.json())
            .then(data => {
                params.api.setGridOption('rowData', data['users']);
                params.api.sizeColumnsToFit();
            });
    },
    onGridSizeChanged: (params) => {
        params.api.sizeColumnsToFit();
    },

    pagination: true,
    paginationPageSize: 30,
    paginationPageSizeSelector: [30, 50, 70, 100],

    defaultColDef: {
        flex: 1,
        minWidth: 100,
        filter: true,
        floatingFilter: true,
        suppressToolPanel: true
    }
};
ag-grid
1个回答
0
投票

它会一次性加载所有数据,因为您的行模型是客户端的。您应该使用服务器端行模型。设置

serverSideDataSource
网格选项以适当地延迟加载数据,在用户滚动时获取行。

请阅读有关行模型的 AG Grid 文档此处

© www.soinside.com 2019 - 2024. All rights reserved.