Как я могу заменить значки, используемые в компонентах Vaadin Flow (календарь, загрузка и т. Д.), Своими собственными значками? Это вообще возможно? Я ничего не видел в API компонента, и похоже, что значки - это значки шрифтов, а не обычные значки железа.
Изменить значки компонентов в Vaadin Flow
Ответы (1)
Да, значки компонентов реализованы с использованием значков шрифтов. Основная причина заключалась в том, что их нужно настраивать с помощью темы (CSS), что казалось невозможным с помощью iron-icon. В конце концов, мы хотим перейти к использованию SVG и для значков компонентов.
Итак, чтобы настроить значки компонентов, вам нужно написать таблицу стилей компонентов, в которой вы меняете значок. Вы можете создать свой собственный шрифт значка или использовать фоновое изображение CSS. У последнего варианта есть обратная сторона: невозможно легко изменить цвет без замены всего изображения.
В качестве примера вот что вы бы написали для компонента vaadin-date-picker (при условии, что это то, что вы имели в виду под «календарем»).
[part="toggle-button"]::before {
content: ""; /* Remove the existing font based icon */
background-image: url(...); /* data uri */
}
Используйте URI данных в кодировке base64, чтобы не беспокоиться об использовании относительных или абсолютных путей для изображения.
Чтобы использовать эту таблицу стилей в приложении на основе Flow, поместите файл CSS в папку frontend
в своем приложении и добавьте следующее:
@CssImport(value = "my-styles.css", themeFor="vaadin-date-picker")