Компонент QAvatar в библиотеке Quasar предназначен для отображения аватаров пользователей, иконок или любых изображений в виде круглых или квадратных блоков с возможностью кастомизации. Он является легковесным, полностью управляемым через свойства и интегрируется с другими компонентами Quasar.
Базовый пример использования:
<q-avatar>
<img src="avatar.png" alt="User Avatar">
</q-avatar>
По умолчанию QAvatar создаёт круглую область,
размеры которой можно контролировать с помощью пропса
size:
<q-avatar size="50px">
<img src="avatar.png" alt="User Avatar">
</q-avatar>
Проп size принимает значения в пикселях, rem, em, или
ключевые размеры Quasar (xs, sm,
md, lg, xl).
Для задания фона используется проп color. Он принимает
как предустановленные цвета Quasar (primary,
secondary, accent и др.), так и кастомные HEX
или CSS-переменные:
<q-avatar color="primary">
<span>AB</span>
</q-avatar>
text-white, text-black или любой другой
цветовой класс Quasar.QAvatar позволяет вставлять иконки Quasar, что особенно удобно для систем без загруженных изображений:
<q-avatar color="orange">
<q-icon name="person" size="24px" color="white"/>
</q-avatar>
size иконки должен быть настроен относительно
размера аватара для корректного отображения.Для динамического отображения аватаров можно использовать биндинг
через v-bind или вычисляемые свойства:
<q-avatar :color="userColor">
<img :src="userAvatar" :alt="userName">
</q-avatar>
data() {
return {
userName: 'Иван Иванов',
userAvatar: '/images/ivan.png',
userColor: 'blue'
}
}
QAvatar поддерживает круглую и квадратную форму. Для
квадратного аватара используется проп rounded:
<q-avatar rounded="xs">
<img src="avatar.png" alt="User Avatar">
</q-avatar>
rounded: none,
xs, sm, md, lg,
xl, circle.circle используется по умолчанию, создавая классическую
круглую форму.QAvatar идеально сочетается с компонентами QList и QCard:
<q-list>
<q-item>
<q-item-section avatar>
<q-avatar>
<img src="avatar1.png" alt="User 1">
</q-avatar>
</q-item-section>
<q-item-section>
<q-item-label>Иван Иванов</q-item-label>
<q-item-label caption>Online</q-item-label>
</q-item-section>
</q-item>
</q-list>
avatar, label и
caption обеспечивает корректную верстку.q-item-section.QAvatar можно комбинировать с эффектами Quasar и CSS-анимацией:
<q-avatar color="teal" class="q-hover-scale">
<q-icon name="person" color="white"/>
</q-avatar>
q-hover-scale создаёт эффект увеличения при
наведении.Для отображения статуса пользователя (online/offline) QAvatar поддерживает встраивание QBadge:
<q-avatar size="50px">
<img src="avatar.png" alt="User Avatar">
<q-badge color="green" floating align="bottom-right" />
</q-avatar>
floating позволяет разместить бейдж поверх
аватара.align управляют позицией бейджа:
top-left, top-right, bottom-left,
bottom-right.color и
текста внутри <span>.:src и
:color для мгновенного обновления.QIcon, QList и QItem.QAvatar является универсальным и лёгким компонентом, позволяющим создавать как простые статические аватары, так и сложные интерактивные элементы интерфейса.