QChip — это компонент библиотеки Quasar Framework, предназначенный для отображения небольших интерактивных элементов, таких как теги, метки или чипсы. Он позволяет компактно представлять информацию с возможностью удаления, выделения и иконок. Визуально QChip похож на небольшую карточку или кнопку с текстом, которая может содержать иконку, аватар или индикатор.
<q-chip>
Новый тег
</q-chip>
При этом чип автоматически адаптируется под текст и может занимать как фиксированную, так и динамическую ширину.
<q-chip :label="tagName" />
primary, secondary, accent), так
и кастомные (#FF0000):<q-chip color="primary" text-color="white">Пример</q-chip>
<q-chip outline color="secondary">Контур</q-chip>
<q-chip dense>Компактно</q-chip>
<q-chip square color="accent">Прямоугольный</q-chip>
<q-chip icon="close">Закрыть</q-chip>
<q-chip avatar="https://cdn.quasar.dev/img/avatar.png">Пользователь</q-chip>
QChip поддерживает интерактивность:
@remove:<q-chip removable @remove="removeTag(tag)">Удаляемый</q-chip>
@click:<q-chip clickable @click="handleClick(tag)">Кликабельный</q-chip>
<q-chip disable>Недоступно</q-chip>
Часто QChip применяется для тегов или категорий, где количество
элементов неизвестно заранее. Для этого используется
v-for:
<q-chip
v-for="tag in tags"
:key="tag.id"
:label="tag.name"
removable
@remove="removeTag(tag.id)"
/>
tags — массив объектов с полями id и
name.@remove — функция удаления чипа из массива.Использование v-for в сочетании с removable
позволяет создавать динамическую систему тегов, где
пользователь может добавлять и удалять элементы без перезагрузки
страницы.
QChip предоставляет гибкие возможности для стилизации:
class для
изменения отступов, шрифтов или тени.<q-chip class="my-chip">Кастомный</q-chip>
.my-chip {
--q-chip-bg: #e0f7fa;
--q-chip-text: #006064;
}
QChipGroup позволяют управлять множественным выбором:<q-chip-group v-model="selectedTags" multiple>
<q-chip v-for="tag in tags" :key="tag.id" :label="tag.name" />
</q-chip-group>
QChipGroup упрощает реализацию функционала выбора
нескольких тегов и автоматически управляет состоянием
v-model.
<q-chip :icon="tag.active ? 'done' : 'close'" removable />
<transition-group name="chip-fade">
<q-chip v-for="tag in tags" :key="tag.id" removable @remove="removeTag(tag.id)">
{{ tag.name }}
</q-chip>
</transition-group>
<q-form @submit.prevent="submitForm">
<q-chip-group v-model="form.tags" multiple>
<q-chip v-for="tag in tags" :key="tag.id" :label="tag.name" />
</q-chip-group>
<q-btn type="submit" label="Отправить" />
</q-form>
key при v-for, чтобы Vue
корректно отслеживал состояние чипов.QChip — универсальный инструмент для создания интерактивных, настраиваемых тегов и меток, который идеально интегрируется с динамическими списками, формами и системами фильтров в приложениях на Quasar Framework.