Quasar предоставляет гибкую и унифицированную систему работы с
иконками, позволяя использовать различные наборы без изменения логики
компонентов. Основной элемент — компонент QIcon, который
служит абстракцией над конкретными библиотеками иконок.
По умолчанию Quasar поддерживает несколько популярных наборов:
Выбор набора задаётся в конфигурации проекта
(quasar.config.js):
framework: {
iconSet: 'material-icons'
}
Дополнительно можно подключать собственные SVG или сторонние библиотеки.
Базовый синтаксис:
<q-icon name="home" />
Параметр name зависит от выбранного набора иконок.
Например:
<q-icon name="mdi-account" /> <!-- Material Design Icons -->
<q-icon name="fa-solid fa-user" /> <!-- Font Awesome -->
<q-icon name="home" size="32px" color="primary" />
Ключевые параметры:
size — размер (px, em, rem)color — цвет из палитры QuasarМногие компоненты Quasar уже поддерживают иконки:
<q-btn icon="add" label="Добавить" />
<q-input filled v-model="text" prefix-icon="search" />
Иконки могут использоваться как:
prefix)suffix)Quasar позволяет использовать кастомные SVG:
<q-icon name="img:/icons/custom.svg" />
Или через inline SVG:
<q-icon>
<svg viewBox="0 0 24 24">
<path d="..." />
</svg>
</q-icon>
Многие внутренние иконки компонентов можно заменить:
framework: {
config: {
brand: { ... },
iconSet: {
name: 'material-icons',
arrow: 'chevron_right'
}
}
}
Это особенно полезно при унификации дизайна.
Splash Screen — это экран загрузки, отображаемый до полной инициализации приложения. Он особенно важен для SPA и мобильных приложений, создавая ощущение скорости и завершённости.
Основные функции:
Splash Screen реализуется через HTML-шаблон
(index.html):
<div id="q-app">
<div class="splash-screen">
<img src="logo.png" />
</div>
</div>
CSS:
.splash-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
}
После загрузки Vue-приложения splash screen удаляется автоматически.
Для PWA используется специальный конфиг:
pwa: {
manifest: {
icons: [
{
src: 'icons/icon-192x192.png',
sizes: '192x192',
type: 'image/png'
}
]
}
}
Также задаются параметры:
background_colortheme_colorЭто влияет на splash screen при запуске с домашнего экрана.
Quasar CLI предоставляет автоматическую генерацию:
quasar icon-gen
Эта команда создаёт:
Файл capacitor.config.json:
{
"plugins": {
"SplashScreen": {
"launchShowDuration": 3000,
"backgroundColor": "#ffffff",
"showSpinner": false
}
}
}
Программное скрытие:
import { SplashScreen } from '@capacitor/splash-screen'
SplashScreen.hide()
В Electron splash screen реализуется через preload-окно:
const splash = new BrowserWindow({
width: 400,
height: 300,
transparent: true,
frame: false
})
После загрузки основного окна splash закрывается.
Иконки:
Splash Screen:
Quasar позволяет централизованно управлять визуальной частью:
framework: {
config: {
brand: {
primary: '#1976D2',
secondary: '#26A69A'
}
}
}
Иконки и splash screen должны соответствовать этим настройкам, обеспечивая единый визуальный стиль приложения.