SusRepeatButton

Hold для авто-повтора кликов — первая задержка, затем interval ticks.
Пакет
SusKit · Атомы (коммерческий)
SusKit · Atoms
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Text | Prop<string> | "Hold" | v-model |
Icon | Prop<string> | "" | v-model |
Variant | Prop<string> | "elevated" | v-model |
Color | Prop<string> | "primary" | v-model |
Size | Prop<string> | "default" | v-model |
Disabled | Prop<bool> | false | v-model |
InitialDelayMs | Prop<int> | 400 | v-model |
IntervalMs | Prop<int> | 80 | v-model |
IsHolding | Prop<bool> | false | v-model |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
Click | OnClick | — |
Repeat | OnRepeat | — |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-repeat-buttonsus-repeat-button--disabledsus-repeat-button--holding
Использование
xml
<template>
<sus:SusRepeatButton Text="+"
Variant="tonal"
Color="primary"
InitialDelayMs="400"
IntervalMs="80"
@click="OnStep"
@repeat="OnStep" />
</template>
<script>
void OnStep() { /* increment once per click / tick */ }
</script>csharp
var rpt = new SusRepeatButton();
rpt.Text.Value = "−";
rpt.InitialDelayMs.Value = 400;
rpt.IntervalMs.Value = 80;
rpt.OnClick += () => { /* … */ };
rpt.OnRepeat += () => { /* … */ };Вариант
elevated · flat · tonal · outlined · text · plain
Заметки
OnClickсрабатывает при нажатии;OnRepeat— на каждый авто-тик, пока кнопка удерживается.