Vaadin14 中的图表在拆分布局时似乎不会自动调整大小 windows

Charts in Vaadin14 don't seem to automatically resize when in splitlayout windows

在 Vaadin 14.4.2 中,我有一个场景,我在 splitLayout 中添加了一个图表。但是,当我作为用户扩展或收缩 splitLayout 时,相应的图表不会调整大小。其他组件(例如网格)会自动调整大小。是否有一些“神奇”的配置选项可以让图表表现得像其他组件一样? (下面的屏幕截图显示图表 not 已调整大小,即使其下方的网格 did 正确地自动调整大小。)(另外供参考,我称之为: spectraChart.setSizeFull(); 所以图表应该用完所有可用的 space.)理想情况下,在 Vaadin 等 'framework' 解决方案中没有必要,因为图表是一个应该像其他组件(例如网格)一样工作的组件。)

是的,不幸的是这是真的。您可以通过显式 JavaScript 调用图表以在拆分器位置更改后进行重排来解决此问题。下面的代码片段找到所有图表并重排它们:

innerLayout.addSplitterDragendListener(event -> {
getUI().ifPresent(
    ui -> ui.getPage()
       .executeJavaScript(
           "Array.from(window.document.getElementsByTagName('vaadin-chart')).forEach( el => el.__reflow());"
       ));                      
});