Vaadin模态窗口:如何在父视图上获取滚动条

时间:2016-03-29 10:22:30

标签: java vaadin

我正在使用Vaadin 7.6.1,我遇到了Vaadin的Window组件问题。我的窗口是模态的,并且具有固定大小。但是如果调整浏览器窗口的大小,则窗口太大而无法完全显示它。

以下图片应解释上下文:

ImageDialogScrollProblem

在这种情况下,我希望浏览器显示滚动条,这样用户仍然可以使用整个对话框。

我使用了Vaadin官方仪表板演示的代码结构并对其进行了修改:https://github.com/vaadin/dashboard-demo

修改:重现问题可能很有意思。在Vaadin采样器中,您可以打开窗口,将其设置为模态,调整大小(更大),最后调整浏览器窗口的大小:http://demo.vaadin.com/sampler/#ui/structure/window

Edit2 :这个JQuery对话框示例演示了我的要求:https://jqueryui.com/dialog/#modal-form 打开对话框后,我可以调整浏览器窗口的大小,因此无法显示整个对话框。但是有滚动条,所以用户仍然可以使用它。

1 个答案:

答案 0 :(得分:2)

查看生成的源,默认情况下.innerText定义body,因此不会显示滚动条。可能的解决方法(来自here的一些灵感)是将其更改为主题中的overflow: hidden;

  

如果您知道在

上指定某些内容是安全的
overflow: auto;
     

元素(例如主题将仅用于页面上唯一的应用程序),您可以使用

body
     

选择器。只有当应用程序直接从servlet提供,而不是嵌入到另一个页面中时,它才可用。

不确定this是否适用,但直到我将定义移到.v-generated-body 之后才对我有用,正如那里解释的那样:

  

请注意,Vaadin 7.0错误地不会在期间添加主题名称   引导。因此,您必须使用不带主题名称的规则,例如

@mixin
     

将其移出@mixin。您还需要使用

确保v-app div具有高度
.v-generated-body .v-app .v-app-loading 

<强> mytheme.scss

.v-app {height:100%;}

你应该得到类似的东西:

Sample