1

我有一个自定义 JavaScript 组件(放置在 VerticalLayout 中),其高度会随着用户输入而动态增长 - 类似于带有预览的 stackoverflow 编辑字段。

问题是当达到一定大小时,“预览”与放置在自定义组件下方的组件内容重叠。想象一下,当写超过 4 行时,“预览”将移动到标签字段后面并在 stackoverflow 中提交按钮。

JavaScript 组件的 css 不包含任何大小信息(除了宽度:100%),VerticalLayout 也不包含。

问题:如何在 Vaadin VerticalLayout 中指定如果先前组件的大小发生更改,组件应向下移动?

或者您有任何其他想法如何解决这种常见情况?

4

2 回答 2

1

问题是.setStyleName("myComponentInstance");用于ExampleView自定义组件的疏忽。在检查 ExampleView.css 时,我发现有人定义了一个特定的大小和高度,这会干扰自定义组件本身的样式 - 结果非常混乱。

因此,如果您在开发 JavaScript Vaadin 组件时遇到类似情况:

  1. 删除myComponent.setStyleName("myComponentInstance")使用代码中的 以避免对您自己的样式的所有干扰。

  2. 不要定义 cssheight值,而是依赖于 VerticalLayout 组件中的默认大小。

于 2013-10-29T13:58:19.177 回答
0

您可以在 VerticalLayout 上使用 setSizeFull() ,这样它就会随着添加到其中的内容而增长。

于 2013-10-28T12:33:45.160 回答