当前位置: 首页 > 知识库问答 >
问题:

更改Vaadin流中的组件图标

裴昕
2023-03-14

如何用自己的图标替换Vaadin Flow组件(日历,上传等)中使用的图标?这可能吗?我在组件的应用编程接口中没有看到任何东西,看起来图标是字体图标,而不是通常的铁图标。

共有1个答案

施学
2023-03-14

是的,组件图标是使用字体图标实现的。主要原因是,它们应该可以用一个主题(CSS)进行定制,这似乎不可能使用铁图标。最后,我们还希望将SVG用于组件图标。

因此,要自定义组件图标,您需要编写一个组件样式表,在其中更改图标。您可以创建自己的图标字体,也可以使用CSS背景图像。后一种选择的缺点是不能轻易改变颜色,而不需要交换整个图像。

作为一个例子,下面是您为vaadin日期选择器组件编写的内容(假设这就是您所说的“日历”)。

[part="toggle-button"]::before {
  content: ""; /* Remove the existing font based icon */
  background-image: url(...); /* data uri */
}

使用base64编码的数据uri,这样您就不必担心为图像使用相对或绝对路径。

要在基于流的应用程序中使用该样式表,请将CSS文件放置在应用程序的frontend文件夹中,并添加以下内容:

@CssImport(value = "my-styles.css", themeFor="vaadin-date-picker")
 类似资料:
  • 在我更改了pom.xml文件的vaadin版本号和vaadin插件版本号后,构建失败 然后,我尝试清理并重建项目,但构建失败表明: [Help 1]的链接没有给出任何错误的线索。如果我回到以前版本的vaadin 7.3.10,项目运行得很好

  • 我正在尝试在登录后更改vaadin中的JSESSIONID。 这是我的密码 JSESSIONID正在成功更改,但在登录到我的仪表板后,im getting SESSION EXPIRED框。我怎么才能在瓦丁解决这件事。

  • 我尝试显示一个图像,作为blob存储在表中。 因此,我需要将byte[]转换为Vaadin图像类(我想这是显示它的最佳方式?)。 我尝试此解决方案(4岁): https://vaadin.com/forum/thread/10271496/byte-array-to-vaadin-image 它不起作用: 在瓦丁13我怎么做?

  • 问题内容: 如何更改要分发的文件的图标?我已经更改了程序运行时显示的图标,但是我想更改环境(例如Windows XP)中的图标,即用于文件本身。我用谷歌搜索,但我能找到的最好方法是将转换为,这不是最佳选择。 问题答案: 图标是操作系统的决定,而不是您的决定:-( 在特定的客户端中,您可以更改.JAR扩展名的本地设置,但不能作为常规分发机制

  • 控制器类别:包装样品;

  • 我对JS的反应有点陌生。我有两个问题。我来了 现在我要做的是,当应用程序组件挂载时,我生成一个对后端服务器的ajax调用,当它返回时,它更新道具,并设置状态,这样子组件也会重新呈现,但子组件不会重新呈现。谁能告诉我出了什么问题。 问题2 现在让我们假设我将进入组件二路由,它将呈现组件二,我在应用程序组件中生成一个ajax调用,根据ajax调用返回的数据,我在应用程序组件中设置了一些道具,我还希望组