当前位置: 代码迷 >> JavaScript >> 使用setExpandRatio时Vaadin DCharts渲染时间太早
  详细解决方案

使用setExpandRatio时Vaadin DCharts渲染时间太早

热度:79   发布时间:2023-06-05 12:00:14.0

我目前在Vaadin v7.5.2中使用插件( 包装器)遇到问题。 这是让我头疼的代码片段:

ComboBox comboBox = new ComboBox();
DCharts chart = new DCharts();

VerticalLayout content = new VerticalLayout();

content.addComponent(comboBox);
content.addComponent(chart);

content.setExpandRatio(chart, 1.0f);

setContent(content);

chart.setDataSeries(dataSeries).setOptions(options).show();

问题是,当我使用setExpandRatio时,加载页面时,图表从容器溢出。 这是一张图片来说明:

当我使用Web开发人员工具隐藏ComboBox并删除边距时,该图看起来不错。 因此,似乎在设置扩展比例之前就绘制了该图,好像它不知道ComboBox在那儿一样。

但是,从ComboBox选择另一个项目(该项目将加载另一个DataSeries )之后,该图表将绘制在预期的边界内并且不会溢出。 同样,当不设置扩展比例或不添加ComboBox时,一切都会按预期进行。

有没有人遇到过类似的问题,或者有什么想法我可以解决这个问题? 任何帮助当然都非常感谢!

我知道这不是理想的解决方案,但是我设法通过使用AbsoluteLayout解决了我的问题,并使用top: 40px绘制了图。 之后,将ComboBox添加到布局中。 这样,图总是绘制在正确的位置上。

只是将此作为一种临时解决方案,所以如果有人有更好的解决方案,请不要犹豫!

  相关解决方案