DirectSurface UIDirectSurface UI
开始使用
文档/示例项目

示例:树表维护

LIVE CANVAS可运行组件示例
ON-DEMAND RUNTIME交互式示例将在进入视区时启动避免文档首屏同时初始化多个 Canvas Runtime

树表维护适合目录、科室、模板分类、权限菜单、字典层级等业务。页面通常左侧或主体是树表,上方有维护工具栏。

页面结构

StackPanel vertical
  Toolbar
  TreeGrid flex=1

如果右侧还需要详情编辑,可以组合成主从结构:左侧树表,右侧表单。

节点设计

树表节点至少需要:

  • 唯一 key。
  • 显示文本。
  • 父子关系。
  • 业务数据。
  • 是否可展开。
  • 是否加载中。

业务数据不要只保存在显示文本里。复制、审计、保存和权限判断都需要结构化数据。

基本示意

Toolbar
  新增同级
  新增下级
  重命名
  删除
  上移
  下移

TreeGrid
  名称
  编码
  状态
  更新时间

命令规则

树表维护的命令通常依赖当前节点:

  • 没有选中节点时,删除和重命名禁用。
  • 根节点可能不能删除。
  • 有子节点时删除可能需要二次确认。
  • 只读节点不能编辑。
  • 拖拽排序需要权限和业务状态同时允许。

这些规则适合放在页面命令的启用状态中。

懒加载

如果树很大,不要一次性加载所有节点。推荐:

  • 首屏只加载根节点和必要层级。
  • 展开节点时加载子节点。
  • 节点关闭后是否释放子节点由业务决定。
  • 搜索时服务端返回命中路径,前端展开路径。

维护一致性

树表修改后要同步三个状态:

  • 当前树节点。
  • 右侧详情或编辑表单。
  • 后端持久化状态。

如果保存失败,需要能恢复 UI 状态,不能只改前端树形结构。