反应材料表自动页面大小

2024-02-22

我正在使用 React + Material Table。

我有问题

  • 有没有办法动态设置pageSize https://material-table.com/#/docs/all-props基于页面上的可用空间?
  • 如果没有 API 可以做到这一点 - 如何从组件设计的角度更好地解决这个问题?

我想实现什么目标?

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

我已经做了什么?

  • 我搜索了虽然官方文档 https://material-table.com并且无法找到解决方案。
  • 我也在寻找开发人员帖子和其他 SO 主题 - 仍然没有结果。

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


我也有同样的要求。所以我找到了一个解决方案,通过使用自动尺寸调整器来自 '反应虚拟化自动调整大小 https://www.npmjs.com/package/react-virtualized-auto-sizer' 包裹。它与“材料表”包配合得很好。

示例代码:

    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>
    );
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

反应材料表自动页面大小 的相关文章

随机推荐

  • 是否可以从 CUDA 10.1 内核调用 cuBLAS 或 cuBLASLt 函数?

    关于 CUDA 10 1 我正在对几何网格进行一些计算 并在网格的每个面进行大量独立计算 我运行一个 CUDA 内核来计算每个面 计算涉及一些矩阵乘法 因此我想使用 cuBLAS 或 cuBLASLt 来加快速度 由于我需要进行许多矩阵乘法
  • 测试 Django 信号的正确方法

    我正在尝试测试发送的信号 它正在提供 args 内部触发信号contact question create提交表单后立即查看 我的测试用例是这样的 def test form should post proper data via sign
  • TinyMCE 不工作 - 即使有他们的例子?

    ISSUE 我正在尝试使用 TinyMCE 4 0 12 但无法让它工作 它只会让我的文本区域完全消失 到目前为止我所做的 我什至从他们的页面准确复制了他们的示例代码 但它甚至不起作用 我已将所有文件提取到 js tinymce 我是否缺少
  • 如何在实体框架中按最后带有空值的列进行排序

    有谁知道如何返回最后带有空值的字符串的有序列表 我有这样的事情 using var context new DomainEntities var result context Users OrderBy u gt u LastName Th
  • module.exports 将所有函数包含在一行中

    这是一个后续问题在 Node js 中 如何 包含 其他文件中的函数 https stackoverflow com questions 5797852 in node js how do i include functions from
  • 检测图像上的点击

    我正在尝试动态加载图像并显示它们 如下所示 var uploader plupload getUploader uploader bind FileUploaded function up file res append div a hre
  • 当我可以直接访问IP时,为什么还需要xip io?

    xip io 欢迎屏幕显示如下 10 0 0 1 xip io 解析为 10 0 0 1 我可以直接使用IP 为什么还要经过xip io呢 是用域名而不是IP来访问服务器吗 主要用例是当您的应用程序需要支持多个子域时 以这些生产子域为例 w
  • 在 VIM 中处理大文件

    我尝试在 VIM 中打开一个巨大的 2GB 文件 但它被卡住了 我实际上不需要编辑文件 只需高效地跳转即可 我如何在 VIM 中处理非常大的文件 我今天有一个 12GB 的文件需要编辑 vim LargeFile 插件对我不起作用 它仍然耗
  • Laravel 迁移:类“未找到”

    我正在将 Laravel 准系统项目部署到 Microsoft Azure 但是每当我尝试执行php artisan migrate我收到错误 2015 06 13 14 34 05 production ERROR 异常 Symfony
  • 如何在不使用第三方网关服务的情况下设置 Kannel

    我想设置 Kannel 来发送 SMS 消息 而无需通过 Clickatell 或 Twilio 等第三方网关 换句话说 我想连接到每个无线服务 AT T Verizon 等 的 SMPP 服务器 以这种方式运行 Kannel 服务器有多困
  • CMake 不支持工具集规范

    我正在尝试构建使用 CMake 的 Checked C 项目 但是当我生成 makefile CMake 时出现以下错误 checkedc build cmake llvm CMake Error at CMakeLists txt 57
  • 在 python 中使用 selenium 将密钥发送到文本区域不起作用

    我试图通过制作一个机器人来学习硒 该机器人可以访问 Instagram 帐户并对帖子发表评论 这是我的代码 from selenium import webdriver from selenium webdriver common keys
  • aarch64;加载获取独占与加载独占

    有什么区别LDAXR LDXRAArch64 指令集之外的指令 从参考手册来看 它们看起来完全相同 获取 一词除外 LDAXR 加载获取独占寄存器 从按基址寻址的存储器加载字到Wt 将物理地址记录为独占访问 LDXR 加载独占寄存器 从内存
  • 如何 mod_rewrite 并保留查询字符串?

    我想将 URL mod rewrite 到另一个页面 但我还希望保留添加的任何查询字符串 RewriteEngine On enforce trailing slashes RewriteCond REQUEST FILENAME f Re
  • java中处理外部库的正确方法(使用eclipse)

    在某种程度上 这是我之前未回答的问题的后续 link https stackoverflow com questions 3238644 adding user defined libraries to svn 在过去的几周里不断升级 现在
  • 为什么memcached不能跨节点同步

    在memcached概述中here http code google com p memcached wiki NewOverview It says Memcached servers are generally unaware of e
  • 如何在 Angular-CLI 组件内使用电子浏览器窗口?

    Angular cli 不接受组件内部的电子 如何在 Angular CLI 组件内使用电子浏览器窗口 我收到这样的错误 fs existsync 还有其他选项可以将电子与 Angular2 组件一起使用吗 var electron req
  • DeadlineExceededException 在 Google App Engine for Java 中是如何实现的?

    应用程序于谷歌应用引擎 http appengine google com 必须有在 30 秒内返回响应数据的 Web 请求 当超过这个时间时 DeadlineExceededException抛出异常 time jsp java lang
  • 如何获取专为Android设备设计的前后摄像头的百万像素?

    如何使用Android代码识别Android设备的前后摄像头的百万像素 我尝试过 CameraInfo 但没有获得百万像素 例如 为了识别我们正在使用的设备型号android os Build MODEL 同样 任何识别前置和后置摄像头百万
  • 反应材料表自动页面大小

    我正在使用 React Material Table 我有问题 有没有办法动态设置pageSize https material table com docs all props基于页面上的可用空间 如果没有 API 可以做到这一点 如何从