反应拆分面板调整大小

Posted

技术标签:

【中文标题】反应拆分面板调整大小【英文标题】:react split panel resize 【发布时间】:2016-11-08 14:00:01 【问题描述】:

我正在尝试使用 react 和基础创建动态调整大小的面板。我已经尝试过 react-split-pane 和其他类似的库,但是它们扰乱了页面的响应性。我也尝试了 resize css3 属性,但它并不灵活,因为它只允许容器的大小仅调整到右侧和底部,并且我无法将调整大小手柄设置为水平或垂直条。

任何建议都会有所帮助。

【问题讨论】:

我一直在为自己的项目玩这个,但还没有找到一个好的解决方案。我一直在尝试使用onDrag 事件和draggable=true 设置在我的组件边框上的句柄上。当onDrag 事件触发时,回调接收一个带有clientY 属性的event 对象(或clientX)来指示它的新位置。在我的处理函数中,我区分了新的clientY 和旧的clientY,以确定用户移动鼠标的方向。然后this.setState(panelSize: this.state.panelSize + increment)。我的面板高度设置为this.state.panelSize [...cont] 不幸的是这个方法计算量有点大,所以运行的不是很顺利,但也许通过调整大小incrementdebounceing更新函数可以平滑出来。无论如何,如果我走得更远,我会在这里发布,但如果这仍然在你的待办事项列表上,我想分享方法。 【参考方案1】:

一旦pull request 76 得到处理,react-resizeable 就可以做到这一点。

目前,您可以从the fork 获取代码。

【讨论】:

以上是关于反应拆分面板调整大小的主要内容,如果未能解决你的问题,请参考以下文章

C#:锚定面板不会正确调整大小

表格调整大小时项目之间的表格布局面板空间

动画 NSSplitview 和窗口大小

C# splitContainer1 调整子控件大小

GWT的SplitLayoutPanel:获取调整大小通知

对 QMainWindow 的大小调整做出反应以调整小部件的大小