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

SusExpansionPanel

SusExpansionPanel

Сворачиваемая секция — заголовок переключает body.

Пакет

SusKit · Атомы (коммерческий)

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

SusKit · Atoms

Свойства

ИмяТипПо умолчанию
OpenProp<bool>falsev-model
TitleProp<string>""v-model
DensityProp<string>"default"v-model
DisabledProp<bool>falsev-model

Слоты

Имя
(по умолчанию)
header

События

ИмяПолеPayload
ToggleOnTogglebool

Хуки стиля

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

  • sus-expansion-panel
  • sus-expansion-panel__chevron
  • sus-expansion-panel__content
  • sus-expansion-panel__header
  • sus-expansion-panel__header-row
  • sus-expansion-panel__title
  • sus-expansion-panel--dense
  • sus-expansion-panel--disabled
  • sus-expansion-panel--open
  • sus-slot

Использование

xml
<template>
  <sus:SusExpansionPanel Title="Advanced"
                         :Open="AdvancedOpen.Value"
                         @toggle="OnToggle">
    <!-- body content -->
  </sus:SusExpansionPanel>
</template>

<script>
public Prop<bool> AdvancedOpen = new(false);
void OnToggle(bool open) { AdvancedOpen.Value = open; }
</script>
csharp
var panel = new SusExpansionPanel();
panel.Title.Value = "Advanced";
panel.Open.Value = false;
panel.OnToggle += open => { /* … */ };
// Add children into the default slot / content host

Заметки

  • Слот header заменяет строку title + caret по умолчанию.
  • Объедините несколько панелей внутри SusExpansionPanels (молекула) для поведения аккордеона.