【发布时间】:2020-03-16 21:28:49
【问题描述】:
Vaadin 14.2.0.alpha7 向 Dialog 组件 (https://vaadin.com/api/platform/14.2.0.alpha7/com/vaadin/flow/component/dialog/Dialog.html) 添加了新功能,尤其是调整大小的可用性。不幸的是,我无法找到一种方法来创建具有宽度的对话框,我既不需要在打开对话框后以编程方式设置宽度。
以下是我用于描述目的的几行代码(未成功):
dialog.isResizable = true
dialog.width = "900px"
dialog.addOpenedChangeListener { event ->
println("!!!opened-changed event fired")
dialog.width = "900px"
println("!!!dialog width = ${dialog.width}")
}
dialog.addResizeListener { event ->
println("!!! on resize event width = ${dialog.width}")
}
当我打开对话框时,它以有限的宽度(大约 500 像素)显示,OpenedChanged 事件被触发并打印该对话框的宽度为 900 像素(而它不是!),当我手动调整它的大小时,触发并打印 Resize 事件该对话框的宽度约为 600 像素(在我使用鼠标手动增加了一点之后)。
我知道早期版本的 Dialog 在模板中的宽度有限(大约 500 像素),并且可以通过导入样式来调整对话框宽度的解决方法。我希望新版本能够在不触及模板和客户端的情况下增加对话框宽度。
有没有什么方法可以设置对话框宽度并在不触及客户端模板的情况下以编程方式打开?
附: 14.2.0 版本宣布将于 4 月发布,所以我相信这个问题即使现在它的预发布版本也是合适的。
【问题讨论】:
-
您好,我在从 vaadin.com/start/ 获取的新项目中尝试了相同的方法,并将 Vaadin 版本更改为您使用的
14.2.0.alpha7。当我打开对话框时,我可以按预期看到具有900px宽度的叠加层。此外,将宽度设置为openedChangedListener有效。您能否尝试在一个新项目中运行它来确认该问题? -
您好,@DiegoCardoso,感谢您的反馈。我通过删除与主题无关的所有内容(带有新文件夹、pom.xml 等的新项目)创建了一个新项目并将其上传到 git - github.com/itslarin/vaadin_14.2.0.alpha7。我有完全相同的情况 - 对话框是用默认大小创建的,而打印它的宽度是 900px,当我手动调整它的大小时,它打印它有 594px(在我扩大了它的宽度之后)。为避免可能的误解 - 我使用分辨率为 1920*1200 的显示器。也许你得到了不同屏幕分辨率的 900px cos?
标签: vaadin