window - Vaadin 8 组件中的值发生变化时窗口回滚到开头
问题描述
在我的应用程序中,我需要一个包含大量内容的弹出窗口,这些内容不完全适合浏览器窗口并且有一个滚动条。我已经尝试使用 Browser Window Opener 显示一个弹出窗口,但遇到了以下问题(在此处输入链接描述)。按照评论中建议的建议,我将 Browser Window Opener 更改为 Window in modal mode。
生成的主视图:
和模态视图:
模式窗口包含 200 个文本字段。乍一看,一切看起来都不错,但如果我向下滚动窗口并尝试输入数据,例如在字段 22 中,则滚轮将展开到窗口的开头:
添加窗口的代码:
button.addClickListener(e -> { TestForm subForm = new TestForm();
Window subWindow = new Window("460006801");
subWindow.setContent(subForm);
subWindow.center();
subWindow.setModal(true);
UI.getCurrent().addWindow(subWindow);
});
测试表格:
public class TestForm extends FormLayout implements Serializable{
public Button save = new Button("Save");
public TestForm() {
for(int i = 0; i < 200; i++) {
TextField textField = new TextField("field " + i);
addComponent(textField);
}
}
public void saveConfigs() {
System.out.print("Save ");
}
}
我真正需要的当然是在更改文本框中的值时,页面上的焦点保持在同一个位置,而不是滚动到开头。
解决方案
该问题与该问题的链接所提出的问题相同
解决方法是将“高度”参数设置为 100%
推荐阅读
- hyperledger-fabric - Cli 服务可以存在于安装在不同机器(Hyperledger Fabric)中的每个组织上吗?
- java - 如何模拟 IMPLY 门?
- neo4j - 由于 Neo4J 中缺少属性,连接不起作用
- amazon-web-services - S3 和 CloudFront 上的静态网站——如何隐藏网站的非产品版本
- python - 在某些迭代中在整个列表中迭代元素时,旧元素保留在新列表中
- windows - 如何提及 %10 及更高版本?
- python - 如何遍历文件夹并从分组的子文件夹中获取某些文件?
- sass - SASS:@extend 在(嵌套的)伪类中
- angular - Angular unix时间戳获取日期,日期和时间
- c - 如何在链表中连续打印结构的数据