gpt4 book ai didi

reactjs - react Material 表自动页面大小

转载 作者:行者123 更新时间:2023-12-04 07:05:27 26 4
gpt4 key购买 nike

我正在使用 React + Material Table。

我有问题

  • 有没有办法动态设置 pageSize 基于页面上的可用空间?
  • 如果没有 API 可以这样做 - 如何从组件设计的角度更好地解决这个问题?

  • 我想要达到什么目标?

    Material 表中显示的行数应取决于屏幕尺寸。根据您的屏幕尺寸,页面看起来不会相似(例如,在笔记本电脑设备上它可能看起来不错,但在 25 英寸显示器上会有很多可以由行填充的空间)。

    我已经做了什么?
  • 我搜索了 official documentation并且无法找到解决方案。
  • 我也在寻找开发人员帖子和其他 SO 主题 - 仍然没有结果。

  • 当然,可以构建一个脚本,根据容器大小和行大小进行一些简单的计算以填充尽可能多的行,但我想避免这种解决方案,并尽可能使用开箱即用的东西。

    最佳答案

    我也有同样的要求。所以我找到了一个解决方案,通过使用 AutoSizer 来自' react-virtualized-auto-sizer ' 包裹。它与“ Material 表”包很相配。

    示例代码:

        import AutoSizer from 'react-virtualized-auto-sizer';  

    export default function Monitor() {
    const columns = [...];
    const data = [..];
    return (
    <AutoSizer>
    {({ height, width }) => {
    console.log(`Height: ${height} | Width: ${width}`);
    const pageSize = Math.floor((height - 192) / 48);
    console.log(`Page Size: ${pageSize}`);

    return (
    <div style={{ height: `${height}px`, width: `${width}px`, overflowY: 'auto' }}>
    <MaterialTable
    columns={columns}
    data={data}
    options={{
    pageSize: pageSize,
    pageSizeOptions: [],
    toolbar: true,
    paging: true
    }}
    icons={tableIcons}
    ></MaterialTable>
    </div>
    );
    }}
    </AutoSizer>
    );
    }

    关于reactjs - react Material 表自动页面大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57787218/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com