Это пример ColorButtonGroup
компонента Vue (только шаблон), который служит группой флажков / кнопок переключения и имеет ограничение макс.Выбранные параметры (в данном случае 4 цвета).
Используется компонент ToggleButton
, который работает как простой выбор переключения с применением стилей, и это один из общих компонентов, которые мы должны использовать в проектах.
<template>
<div
class="color-button-group"
:class="[typeClass, variationClass]">
<ToggleButton
v-for="(item, index) in items"
:key="index"
:color="item.color"
:type="type"
@click.native="validateClick"
@change="onChange(item.id)" />
</div>
</template>
Я реализовал всю логику, необходимую через методы и обработчики событий, и все работает отлично, но также возможно переключать кнопки визуально после макс.выбор достигнут.
Текущее поведение:
Желаемое поведение:
Как предотвратить распространение событий на дочерние элемент (ы) условно?
stopPropagation
и preventDefault
, так как всплывающие подсказки и предотвращение действий по умолчанию не помогли.
При макс.выбранные цвета, кнопка переключения уровня ниже не должна срабатывать (отключенное состояние не разрешено использовать).