SusSnackbarQueue

Серийный хост toast — ставит сообщения в очередь и показывает по одному SusSnackbar.
Пакет
SusKit · Молекулы (коммерческий)
SusKit · Molecules
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Overlay | Prop<bool> | true | v-model |
Location | Prop<string> | "bottom-center" | v-model |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
Empty | OnEmpty | — |
Show | OnShow | string |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-snackbar-queuesus-snackbar-queue__host
Использование
Управляйте очередью из кода через Enqueue. XML лишь размещает хост и общие display-пропы.
csharp
var queue = new SusSnackbarQueue();
queue.Overlay.Value = false;
queue.Location.Value = "bottom-center";
queue.OnShow += text => { /* … */ };
queue.OnEmpty += () => { /* … */ };
queue.Enqueue("Party invite received", "info", 2500);
queue.Enqueue("Saved", "success", 3000);
// or: queue.Enqueue(new SusSnackbarQueue.SnackbarQueueItem { Text = "…", Variant = "warning", Timeout = 4000 });xml
<template>
<sus:SusSnackbarQueue :Overlay="Overlay.Value"
:Location="Location.Value"
@show="OnShow"
@empty="OnEmpty" />
</template>
<script>
public Prop<bool> Overlay = new(true);
public Prop<string> Location = new("bottom-center");
void OnShow(string text) { /* … */ }
void OnEmpty() { }
// Call Enqueue from code (buttons, services, network handlers).
</script>| Prop / API | Role |
|---|---|
Overlay | Прокидывается в каждый snackbar |
Location | Прокидывается в каждый snackbar (bottom-center, …) |
Enqueue(text, variant, timeout) | Добавить toast в очередь |
PendingCount | Ожидающие + показываемый сейчас |
Заметки
- Варианты совпадают с SusSnackbar:
info·success·warning·error. - Элементы, поставленные в очередь до
Mounted, сбрасываются при монтировании хоста (гонка Storybook Add→Enqueue). - Предпочитайте очередь стеку из множества отдельных snackbar.