v-btn-group — это компонент библиотеки Vuetify,
предназначенный для объединения кнопок (v-btn) в логические
группы. Он обеспечивает единообразное расположение, выравнивание и
визуальную связность кнопок, что особенно важно при создании панелей
инструментов, фильтров или переключателей.
Базовая структура выглядит следующим образом:
<v-btn-group>
<v-btn color="primary">Кнопка 1</v-btn>
<v-btn color="primary">Кнопка 2</v-btn>
<v-btn color="primary">Кнопка 3</v-btn>
</v-btn-group>
Здесь все кнопки объединены в одну визуальную группу, что позволяет избежать разрыва между ними и применить единый стиль оформления.
v-btn-group1. color Устанавливает основной цвет
всех кнопок внутри группы. Если у кнопок внутри группы задан собственный
цвет, он имеет приоритет.
<v-btn-group color="secondary">
<v-btn>Да</v-btn>
<v-btn>Нет</v-btn>
</v-btn-group>
2. outlined и text Эти
булевы свойства позволяют менять стиль кнопок:
outlined — кнопки с контуром;text — кнопки без фона, только текст.<v-btn-group outlined>
<v-btn>Влево</v-btn>
<v-btn>Вправо</v-btn>
</v-btn-group>
3. rounded Управляет скруглением углов
кнопок внутри группы. Можно использовать значения:
rounded="lg", rounded="sm" или просто
rounded для стандартного скругления.
<v-btn-group rounded="lg">
<v-btn>Опция 1</v-btn>
<v-btn>Опция 2</v-btn>
</v-btn-group>
4. vertical Вертикальное расположение
кнопок вместо горизонтального. Очень полезно для боковых панелей или
фильтров.
<v-btn-group vertical>
<v-btn>Фильтр 1</v-btn>
<v-btn>Фильтр 2</v-btn>
</v-btn-group>
v-modelv-btn-group можно использовать для создания
взаимозависимых переключателей. Через v-model реализуется
выбор одной активной кнопки из группы:
<v-btn-group v-model="selectedOption">
<v-btn value="a">A</v-btn>
<v-btn value="b">B</v-btn>
<v-btn value="c">C</v-btn>
</v-btn-group>
export default {
data() {
return {
selectedOption: 'a'
}
}
}
Ключевые моменты:
value соответствует значению
v-model;selectedOption;multiple.<v-btn-group v-model="selectedOptions" multiple>
<v-btn value="x">X</v-btn>
<v-btn value="y">Y</v-btn>
<v-btn value="z">Z</v-btn>
</v-btn-group>
export default {
data() {
return {
selectedOptions: ['x']
}
}
}
В v-btn-group можно использовать кнопки с иконками для
компактных панелей инструментов:
<v-btn-group>
<v-btn icon>
<v-icon>mdi-format-bold</v-icon>
</v-btn>
<v-btn icon>
<v-icon>mdi-format-italic</v-icon>
</v-btn>
<v-btn icon>
<v-icon>mdi-format-underline</v-icon>
</v-btn>
</v-btn-group>
Особенности:
icon делает кнопки квадратными и
компактными;v-model для выбора активного
состояния;v-btn-group позволяет применять классы и стили как к
группе целиком, так и к отдельным кнопкам:
<v-btn-group class="my-btn-group" style="border: 1px solid #ccc;">
<v-btn class="btn-left" color="primary">Левая</v-btn>
<v-btn class="btn-middle" color="success">Средняя</v-btn>
<v-btn class="btn-right" color="error">Правая</v-btn>
</v-btn-group>
style или
кастомные классы;v-btn-group можно
вкладывать в v-toolbar или v-card.v-btn-group для визуального объединения
кнопок, которые логически связаны;v-btn-group обеспечивает не только эстетичное оформление
кнопок, но и удобство управления состоянием через v-model,
возможность вертикальной и горизонтальной компоновки, а также лёгкую
интеграцию с иконками и текстовыми элементами.