SusExpansionPanel

Сворачиваемая секция — заголовок переключает body.
Пакет
SusKit · Атомы (коммерческий)
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Open | Prop<bool> | false | v-model |
Title | Prop<string> | "" | v-model |
Density | Prop<string> | "default" | v-model |
Disabled | Prop<bool> | false | v-model |
Слоты
| Имя |
|---|
(по умолчанию) |
header |
События
| Имя | Поле | Payload |
|---|---|---|
Toggle | OnToggle | bool |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-expansion-panelsus-expansion-panel__chevronsus-expansion-panel__contentsus-expansion-panel__headersus-expansion-panel__header-rowsus-expansion-panel__titlesus-expansion-panel--densesus-expansion-panel--disabledsus-expansion-panel--opensus-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(молекула) для поведения аккордеона.