Vaadin 14 - Grid::setClassNameGenerator 不工作
Vaadin 14 - Grid::setClassNameGenerator doesn't work
我在为网格中的每一行设置背景颜色时遇到问题。我使用 setClassNameGenerator,但这不起作用。但是,如果我为整个网格设置 className,那么我可以看到一些结果。最后,我想根据特定条件为行着色,但现在我只是硬编码一个 class "failed" 看看着色是否有效。
这是我的 CSS 代码:
执行此代码段不会改变任何内容
然而,这使得整个背景如预期的那样变黄,所以 CSS 导入没问题。
任何帮助都会很棒。谢谢
你说你的最后一个代码有效"so the CSS import is ok" - 不,它不是。
这是一个巨大的差异,因为行样式需要在网格组件的范围内定义,而设置整个网格的背景可以使用全局 css 完成。这是因为 Grid
正在使用影子-DOM。您可以阅读 here, or more extensively here
要将 CSS 加载到网格组件的范围内,您需要做的是将参数 themeFor = "vaadin-grid"
添加到 @CssImport
注释中。
@CssImport(value = "./styles/failedGridColumn.css", themeFor = "vaadin-grid")
而不是
@CssImport("./styles/failedGridColumn.css")
我在为网格中的每一行设置背景颜色时遇到问题。我使用 setClassNameGenerator,但这不起作用。但是,如果我为整个网格设置 className,那么我可以看到一些结果。最后,我想根据特定条件为行着色,但现在我只是硬编码一个 class "failed" 看看着色是否有效。
这是我的 CSS 代码:
执行此代码段不会改变任何内容
然而,这使得整个背景如预期的那样变黄,所以 CSS 导入没问题。
任何帮助都会很棒。谢谢
你说你的最后一个代码有效"so the CSS import is ok" - 不,它不是。
这是一个巨大的差异,因为行样式需要在网格组件的范围内定义,而设置整个网格的背景可以使用全局 css 完成。这是因为 Grid
正在使用影子-DOM。您可以阅读 here, or more extensively here
要将 CSS 加载到网格组件的范围内,您需要做的是将参数 themeFor = "vaadin-grid"
添加到 @CssImport
注释中。
@CssImport(value = "./styles/failedGridColumn.css", themeFor = "vaadin-grid")
而不是
@CssImport("./styles/failedGridColumn.css")