首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vaadin14:如何更改TextField标签(标题)的宽度?

Vaadin14:如何更改TextField标签(标题)的宽度?
EN

Stack Overflow用户
提问于 2021-06-02 20:25:55
回答 2查看 377关注 0票数 0

使用Vaadin14,我想更改TextField的标签(标题)的宽度。使用默认值,即使我将TextField的大小设置为"setSizeFull“,标题也只显示部分内容。我尝试了以下方法(类似于Vaadin14应用程序的启动代码):

代码语言:javascript
复制
 TextField queryString = new TextField();
 queryString.setWidth("200px");
 queryString.setLabel("long label text, long label text, long label text");
 queryString.setThemeName("longlabel");

CSS文件导入:

代码语言:javascript
复制
 @CssImport(value = "./styles/vaadin-text-field-styles.css", themeFor = "vaadin-text-field")

而vaadin-text-field-styles.css的内容是:

代码语言:javascript
复制
 :host([theme~="longlabel"]) [part="label"] {
    width: 400px;
 }

这不会更改标签的宽度。

是否可以查找Vaadin14组件的默认CSS设置?这也将有助于其他组件的更改。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-02 20:47:48

您的父布局是否有足够的空间来显示该文本?可能是从标签上剪下来的。

当您使用setSizeFull()时,这意味着您正在尝试使用与父元素一样多的空间。如果你想使用你的内容所需的空间,你通常需要setSizeUndefined(),尽管我认为TextField可能有一个默认的宽度(至少在Vaadin8中是这样的),在这种情况下,它可能不起作用。(我手头还没有Vaadin 14项目来测试它。)

如果queryString.setWidth("400px");有什么不同,你试过了吗?

编辑:overflow: visible允许标签延伸到TextField主体之外。

票数 1
EN

Stack Overflow用户

发布于 2021-06-04 22:12:18

标签的宽度受主要组件的宽度约束。当您将文本字段的宽度设置为200px时,标签不能超过该宽度。

要让它像你喜欢的那样工作(标签比字段长),你需要按照Anna的建议做(overflow: visible),或者将主组件宽度设置为auto,并将内部text-input元素的宽度设置为固定值(例如200px)。

这里有一种方法。

vaadin-text-field-styles.css:

代码语言:javascript
复制
:host {
  --vaadin-text-field-default-width: auto;
}

[part="input-field"] {
  width: var(--input-field-width);
}

Java:

代码语言:javascript
复制
TextField queryString = new TextField();
queryString.getElement().getStyle().setProperty("--input-field-width", "200px");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67805082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档