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

SusSnackbarQueue

SusSnackbarQueue

Серийный хост toast — ставит сообщения в очередь и показывает по одному SusSnackbar.

Пакет

SusKit · Молекулы (коммерческий)

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

SusKit · Molecules

Свойства

ИмяТипПо умолчанию
OverlayProp<bool>truev-model
LocationProp<string>"bottom-center"v-model

Слоты

Слотов нет.

События

ИмяПолеPayload
EmptyOnEmpty
ShowOnShowstring

Хуки стиля

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

  • sus-snackbar-queue
  • sus-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 / APIRole
OverlayПрокидывается в каждый snackbar
LocationПрокидывается в каждый snackbar (bottom-center, …)
Enqueue(text, variant, timeout)Добавить toast в очередь
PendingCountОжидающие + показываемый сейчас

Заметки

  • Варианты совпадают с SusSnackbar: info · success · warning · error.
  • Элементы, поставленные в очередь до Mounted, сбрасываются при монтировании хоста (гонка Storybook Add→Enqueue).
  • Предпочитайте очередь стеку из множества отдельных snackbar.