SusRadio

Один radio-option — в паре с родительским SusRadioGroup для exclusive choice.
Пакет
SusKit · Атомы (коммерческий)
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Model | Prop<bool> | false | v-model |
Value | Prop<string> | "" | v-model |
Label | Prop<string> | "" | v-model |
Color | Prop<string> | "primary" | v-model |
Disabled | Prop<bool> | false | v-model |
Readonly | Prop<bool> | false | v-model |
Density | Prop<string> | "default" | v-model |
Error | Prop<string> | "" | v-model |
HideDetails | Prop<string> | "auto" | v-model |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
Change | OnChange | bool |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
keyboard-focussus-radiosus-radio__detailssus-radio__dotsus-radio__inputsus-radio__labelsus-radio--checkedsus-radio--dangersus-radio--density-comfortablesus-radio--density-compactsus-radio--density-defaultsus-radio--disabledsus-radio--errorsus-radio--primarysus-radio--readonlysus-radio--secondarysus-radio--successsus-radio--warning
Использование
xml
<template>
<sus:SusRadio Label="Hard"
Value="hard"
Color="primary"
@change="OnPicked" />
</template>
<script>
void OnPicked(bool selected) { /* … */ }
</script>csharp
var radio = new SusRadio();
radio.Label.Value = "Normal";
radio.Value.Value = "normal";
radio.Color.Value = "primary";
radio.OnChange += selected => { /* … */ };Заметки
- Размещайте radio внутри
SusRadioGroup(молекула); атом сам регистрируется и синхронизируетModelс выбором группы. - Отдельно от группы: управляйте
Model/SyncCheckedсамостоятельно. Error+HideDetailsследуют тому же паттерну form-field, что и checkbox / текстовые поля.