К содержимому

SusBtnToggle

SusBtnToggle

Переключатель exclusive (или multi) — ряд кнопок на Items + Model.

Пакет

SusKit · Атомы (коммерческий)

Открыть в песочнице

SusKit · Atoms

Свойства

ИмяТипПо умолчанию
ModelProp<string>""v-model
MultipleProp<bool>falsev-model
MandatoryProp<bool>truev-model
DividedProp<bool>truev-model
DisabledProp<bool>falsev-model
ColorProp<string>"primary"v-model
VariantProp<string>"outlined"v-model
SizeProp<string>"small"v-model

Слоты

Слотов нет.

События

ИмяПолеPayload
ChangeOnChangestring

Хуки стиля

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-btn-toggle
  • sus-btn-toggle__btn
  • sus-btn-toggle__btn--first
  • sus-btn-toggle__btn--last
  • sus-btn-toggle__row
  • sus-btn-toggle--disabled
  • sus-btn-toggle--divided
  • sus-btn-toggle--multiple
  • sus-button--active
  • sus-button--color-danger
  • sus-button--color-info
  • sus-button--color-secondary
  • sus-button--color-success
  • sus-button--color-warning

Использование

csharp
var toggle = new SusBtnToggle();
toggle.Items.Value = new List<SusBtnToggle.BtnToggleItem>
{
    new() { Label = "List", Value = "list", Icon = "list" },
    new() { Label = "Grid", Value = "grid", Icon = "grid" },
    new() { Label = "Map", Value = "map", Icon = "map" },
};
toggle.Model.Value = "list";
toggle.Mandatory.Value = true;
toggle.Divided.Value = true;
toggle.Variant.Value = "outlined";
toggle.Size.Value = "small";
toggle.OnChange += value => { /* … */ };
PropRole
ItemsList<BtnToggleItem>Label, Value, Icon, Disabled
ModelВыбранное значение (одиночный режим)
Multiple / SelectionРежим множественного выбора + выбранные значения
MandatoryДержать хотя бы один элемент выбранным
DividedВизуальные разделители между кнопками

Вариант

elevated · flat · tonal · outlined · text · plain