components/tree
Anzeige · 29 / 64

Tree

ui.widgets.Tree

Hierarchien, Dateibäume und aufklappbare Strukturen.

BEHAVIOR CONTRACT

Aufklappen, Auswahl, Einrückung, Icons und Tastaturnavigation arbeiten mit stabilen Node-IDs.

RECORDED INTERACTION

Der Harness klickt den Knoten src, um seinen Teilbaum ein- oder auszuklappen.

examples/storybook/stories.zig:2420
// ── Tree ──
pub fn buildTree(scope: *ui.Scope, cx: *ui.Cx) anyerror!*ui.Node {
    const leaves = [_]W.TreeNodeData{
        .{ .id = "main", .label_text = "main.zig" },
        .{ .id = "root", .label_text = "root.zig" },
    };
    const nodes = [_]W.TreeNodeData{
        .{ .id = "src", .label_text = "src", .children = &leaves },
        .{ .id = "readme", .label_text = "README.md" },
    };
    const t = try W.Tree(.{ .nodes = &nodes }).mount(scope, cx);
    return t.wrapper;
}
Quellcode auf GitHub ansehenexamples/storybook/stories.zig:2420

Der unveränderte Quellcode der Story aus dem Storybook (zenit 5f9add5+wip 2026-09-30). W steht für ui.widgets; col / row / label sind kleine Layout-Helfer des Storybooks.

zenit · DoppellizenzKostenlos für Open-Source-Projekte unter GPL-3.0-only; Closed-Source- oder kommerzielle Produkte benötigen eine kommerzielle Lizenz.Kontakt zum Autor: zongyi.xzy#gmail.com (# durch @ ersetzen)zenit 5f9add5+wip 2026-09-30