vaadin - 展开 VerticalLayout 宽度以匹配 Grid 宽度
问题描述
我正在写一个 Vaadin SearchDialog
,其中包含:
- 搜索 TextField
- 包含搜索结果的网格
- 两个操作按钮确认或取消
基本上这是我的布局结构:
对话框
|- MainLayout (VerticalLayout)
| - - 搜索字段(文本字段)
| - - 结果网格(网格)
| - - 按钮布局(水平布局)
| - - - 取消按钮
| - - - 确认按钮
我的问题是我尝试将网格的宽度扩大到最大尺寸。我使用了 Grid::setWidthFull 和这段代码
resultGrid.getColumns().forEach(column -> column.setAutoWidth(true));
但似乎 mainLayout 宽度仍设置为 "ButtonLayout" :
我的技术背景是:
- Vaadin flow 14.7(全java)
- 爪哇 16
- 弹簧靴
解决方案
VaadinDialog
应用了预定义的填充。要删除它(让对话框占据全部空间,请将以下 CSS 添加到您的shared-styles.js
文件中:
<dom-module id="my-dialog-styles" theme-for="vaadin-dialog-overlay">
<template>
<style>
[part="content"] {
padding: 0;
}
</style>
</template>
</dom-module>
或者添加这个,这样你的shared-styles.css
文件就可以全屏了
vaadin-dialog-overlay {
top: 0;
left: 0;
right: 0;
bottom: 0;
}
vaadin-dialog-overlay::part(overlay) {
width: 100%;
height: 100%;
padding: 0;
}
vaadin-dialog-overlay::part(content) {
padding: 0;
}
推荐阅读
- java - 如何在android中以毫秒为单位检查时间
- c# - C# - 如何解压缩 ISO-8859-1 字符串
- antlr4 - 如何使用 ANTLR 实现算子
- ocaml - 安装 opam 包时链接到非标准路径中的库
- python - 为什么 ThreadPoolExecutor 工作但 ProcessPoolExecutor 没有?(解决了)
- ruby-on-rails - 如何用 Ruby on Rails 控制器中另一条记录的数据替换一条记录中的数据?
- ios - 使用 Delphi 部署到 iOS 13 时出现格式错误的 Bundle 问题
- javascript - ChartJs中X轴中的特定网格线
- c - 看不到填充
- ruby-on-rails - 在创建时来自相关模型的 Rails 强参数中不允许的参数