用途:在 Umbraco Backoffice 扩展注册表中注册层级树结构,用于展示有组织的内容层级,可在后台任意位置通过 <umb-tree /> 元素渲染。
主要能力:树由扩展注册表注册,需要数据源实现来获取根项、子项和祖先。现代树通常使用 2-3 个文件:manifest.ts(注册仓库与树)、tree.repository.ts(仓库与内联数据源)、types.ts(可选类型定义)。官方源码示例位于 /Umbraco-CMS/src/Umbraco.Web.UI.Client/examples/tree/。
关键集成:树与工作区紧密耦合。使用 kind: 'default' 树项时,树项需要工作区,点击树项会导航到该实体类型的工作区;若未注册对应 entityType 的工作区,点击会导致“永久加载”。工作区必须为 kind: 'routable',以便正确显示选中状态并在同类型项间导航。树项数据中的 entityType 必须与工作区清单中的 entityType 匹配。实现可点击树项时,应同时参考 umbraco-workspace 技能。
配置要点:hideTreeRoot 应放在 menuItem 清单上(而非 tree 上),设为 true 可在根级显示树项。
工作流:先用 WebFetch 获取最新文档;确认树显示什么数据、由哪个仓库提供、出现在哪里、树项是否可点击;生成最小文件(manifest.ts、tree.repository.ts 含内联数据源),不要创建 tree.store.ts(v18 已移除)或单独的 tree.data-source.ts;若可点击,还需为每个实体类型创建可路由工作区;最后说明创建内容及测试方式。
限制:资料未提供具体收费、价格、平台或效果信息;实现前应始终获取最新官方文档。