首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在父级调整大小时重新渲染react-grid-layout列的宽度?

如何在父级调整大小时重新渲染react-grid-layout列的宽度?
EN

Stack Overflow用户
提问于 2021-01-03 14:16:12
回答 1查看 1.3K关注 0票数 2

我有一个使用react js的仪表板面板,我在其中使用了react-grid-layout;我在我的内容中使用了react-grid-layout,它工作正常,但当我关闭右侧或左侧面板(抽屉)时,作为react-grid-layout父级的内容的宽度会修改,但在此更改之后,我的列的宽度并没有根据它们的父级的宽度大小进行修改;我如何重新加载我的ResponsiveGridLayout组件来更改孩子(列)的宽度?这是在这个问题中显示我的问题的简单代码:example

这是我的仪表板图像:

EN

回答 1

Stack Overflow用户

发布于 2021-01-03 21:19:50

如果您查看文档here,您将看到ResponsiveGridLayout是一个名为Responsive的组件和一个名为WidthProvider的临时组件的组合

代码语言:javascript
复制
import { Responsive, WidthProvider } from 'react-grid-layout';

const ResponsiveGridLayout = WidthProvider(Responsive);

如果您查看WidthProvidercode,您可能会注意到它订阅了widnow resize事件

代码语言:javascript
复制
window.addEventListener("resize", this.onWindowResize);

这对你来说不是特别有用,因为在你的例子中,窗口不会调整大小。解决此问题的一种方法是创建您自己的WidthProvider,并将侦听器附加到实际调整大小的元素,并将其包装在Responsive周围

代码语言:javascript
复制
 const MyVeryOwnResponsiveGridLayout = MyWidthProvider(Responsive);

附注:您可以尝试向组件创建者或志愿者请求该功能,以便为项目做出贡献

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65547160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档