SusTreeView

Раскрываемая иерархия — деревья skill / craft / folder из вложенных Items.
Пакет
SusKit · Молекулы (коммерческий)
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Model | Prop<string> | "" | v-model |
Disabled | Prop<bool> | false | v-model |
Density | Prop<string> | "default" | v-model |
OpenAll | Prop<bool> | false | v-model |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
Change | OnChange | string |
Toggle | OnToggle | string |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-tree-viewsus-tree-view__itemsus-tree-view__item--disabledsus-tree-view__item--selectedsus-tree-view__item-iconsus-tree-view__labelsus-tree-view__rootsus-tree-view__spacersus-tree-view__togglesus-tree-view--densesus-tree-view--disabled
Использование
Items задаются в коде (List<TreeViewItem> с опциональными Children).
csharp
var tree = new SusTreeView();
tree.Items.Value = new List<SusTreeView.TreeViewItem>
{
new()
{
Title = "Combat",
Value = "combat",
Children = new List<SusTreeView.TreeViewItem>
{
new() { Title = "Strike", Value = "strike" },
new() { Title = "Guard", Value = "guard" },
}
},
new()
{
Title = "Craft",
Value = "craft",
Children = new List<SusTreeView.TreeViewItem>
{
new() { Title = "Forge", Value = "forge" },
new() { Title = "Alchemy", Value = "alchemy" },
}
},
};
tree.Model.Value = "strike";
tree.OnChange += value => { /* selection */ };
tree.OnToggle += value => { /* expand/collapse key */ };xml
<template>
<sus:SusTreeView :Model="Selected.Value"
:Density="Density.Value"
:OpenAll="OpenAll.Value"
:Disabled="Disabled.Value"
@change="OnChange"
@toggle="OnToggle" />
</template>
<script>
public Prop<string> Selected = new("");
public Prop<string> Density = new("default");
public Prop<bool> OpenAll = new(false);
public Prop<bool> Disabled = new(false);
void OnChange(string value) { Selected.Value = value; }
void OnToggle(string value) { /* … */ }
// Populate Items in code.
</script>| Prop | Role |
|---|---|
Items | Вложенный List<TreeViewItem> |
Model | Ключ выбранного элемента (Value или Title) |
OpenAll | Развернуть все ветки |
Density | default · compact (плотные строки) |
Disabled | Блокирует выбор / раскрытие |
Заметки
- Поля элемента:
Title,Value,Disabled,Children. - Ключ =
Value, если задан, иначеTitle. - Chevron переключает раскрытие/сворачивание; клик по строке выбирает и вызывает
OnChange.