SusBtnToggle

Переключатель exclusive (или multi) — ряд кнопок на Items + Model.
Пакет
SusKit · Атомы (коммерческий)
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Model | Prop<string> | "" | v-model |
Multiple | Prop<bool> | false | v-model |
Mandatory | Prop<bool> | true | v-model |
Divided | Prop<bool> | true | v-model |
Disabled | Prop<bool> | false | v-model |
Color | Prop<string> | "primary" | v-model |
Variant | Prop<string> | "outlined" | v-model |
Size | Prop<string> | "small" | v-model |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
Change | OnChange | string |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-btn-togglesus-btn-toggle__btnsus-btn-toggle__btn--firstsus-btn-toggle__btn--lastsus-btn-toggle__rowsus-btn-toggle--disabledsus-btn-toggle--dividedsus-btn-toggle--multiplesus-button--activesus-button--color-dangersus-button--color-infosus-button--color-secondarysus-button--color-successsus-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 => { /* … */ };| Prop | Role |
|---|---|
Items | List<BtnToggleItem> — Label, Value, Icon, Disabled |
Model | Выбранное значение (одиночный режим) |
Multiple / Selection | Режим множественного выбора + выбранные значения |
Mandatory | Держать хотя бы один элемент выбранным |
Divided | Визуальные разделители между кнопками |
Вариант
elevated · flat · tonal · outlined · text · plain