跳到主要内容

SettingsTree

type SettingsTree = object;

SettingsTree 是一个用于在面板设置侧边栏中显示和编辑面板设置的树形结构。

树中的节点和字段可以通过字符串路径引用,该路径收集从根节点到子节点或字段的每个节点的键。

例如,对于以下树结构:

root: {
children: {
a: {
children: {
b: {
fields: {
toggleMe: {
label: "切换开关",
input: "boolean",
value: false,
},
},
},
},
},
},
}

到节点 b 的路径将是 ["a", "b"],到 toggleMe 字段的路径将是 ["a", "b", "toggleMe"]。这些路径在 actionHandler 中使用,用于响应树中值的更新,也在 focusedPath 中使用,用于将编辑器 UI 聚焦到树中的特定节点。

属性

actionHandler

actionHandler: (action) => void;

处理由 UI 发起的设置树上的所有操作的处理程序。

参数

参数类型
actionSettingsTreeAction

返回值

void

enableFilter

optional enableFilter: boolean;

如果为 true,设置编辑器将显示过滤控件。

focusedPath

optional focusedPath: readonly string[];

设置此属性将产生一次性效果,将编辑器滚动到路径处的节点并高亮显示它。这是一个瞬态效果,因此不需要随后取消设置此属性。

nodes

nodes: object;

设置树的根节点。对这些节点的更新将自动反映在编辑器 UI 中。

索引签名

[key: string]: undefined | SettingsTreeNode