设置UI引擎前端页面模板树组件属性
模板树是UI引擎基于xDM-F数据模型开发的树形结构组件,适用于工业场景中设备层级展示、工艺流程可视化、物料清单管理等需求,可通过API动态加载数据或绑定本地数据源,支持节点懒加载、自定义渲染及复杂交互操作。
前提条件
- 已在当前页面添加“模板树”组件,具体操作请参见为UI引擎前端页面添加物料组件。
- 已创建数据源,具体操作请参见为UI引擎前端项目创建数据源。
配置入口
- 在页面设计器的中心画布区,单击选中“模板树”组件。
- 在右侧设置面板中,单击
,即可展开“属性”设置面板。
模型信息
此部分配置用于绑定xDM-F数据模型,确保树形数据与业务系统的数据源对接。
属性名称 | 说明 | 是否支持变量绑定 |
|---|---|---|
xdm模型 | 用于为树形结构绑定xDM-F数据模型,从而实现树形数据与业务系统数据源的无缝对接。配置步骤:
| 否 |
基础信息
此部分配置用于配置模板树的展示样式、数据加载方式及交互行为,满足用户的个性化需求。
属性名称 | 说明 | 是否支持变量绑定 |
|---|---|---|
数据源 | 树组件的原始数据。可通过API接口或本地JSON数据绑定,支持动态更新。 | 是 |
属性映射 | 当传入数据为非标准格式时,指定数据字段与树节点属性的映射关系(如将设备ID映射为节点key,设备名称映射为节点标签)。 | 是 |
节点标识key | 节点唯一标识的属性名称(如设备ID、工序编号),确保节点操作的唯一性。 | 是 |
子节点缩进 | 相邻层级节点间的水平缩进距离,优化树形结构的视觉层次感。单位为像素(px)。 | 是 |
手风琴模式 | 控制是否开启手风琴模式。 开启后同一层级每次仅展开一个树节点,其他同级节点将自动折叠。适用于需分类展示的场景(例如按产线分类查看设备列表)。 | 是 |
节点触发展开 | 单击节点名称时是否自动展开子节点,提升操作便捷性。 | 是 |
仅子节点可选 | 限制只能选中叶子节点(末端节点)。 | 是 |
启用懒加载 | 控制是否开启异步加载模式。 开启后,展开节点时再请求子节点数据(如加载某产线下的所有设备),优化大数据量场景的性能。 | 是 |
加载函数 | 懒加载时调用的方法,需在函数内通过“resolve(data)”返回子节点数据,支持自定义数据处理逻辑(如过滤无效设备)。 | 是 |
单次数据条数 | 懒加载时每次请求返回的子节点数量,默认50条,可根据数据量调整。 | 是 |
自定义标签 | 自定义节点标签显示内容(如“设备名称 + 型号”),支持HTML格式渲染。 | 是 |
节点图标 | 节点包含子节点时显示的图标(如文件夹图标),可通过样式类自定义。 | 是 |
展开图标 | 节点展开时显示的图标(如向下箭头)。 | 是 |
收起图标 | 节点收起时显示的图标(如向右箭头)。 | 是 |
图标大小 | 节点图标的尺寸(单位:px),默认14px。 | 是 |
默认展开节点 | 配置初始化时默认展开的节点(如根节点“全部产线”)。 | 是 |
参数配置(适用于查询根节点)
此部分配置用于优化xDM-F模型API查询根节点的性能,适用于大数据量查询。
属性名称 | 说明 | 是否支持变量绑定 |
|---|---|---|
列表大小 | 加载根节点的数据量,默认50条,可根据业务需求调整(如加载所有产线)。 | 是 |
查询条件 | 传递给查询根节点API的查询条件。 传递给xDM-F模型API的查询参数(如按工厂ID筛选产线)。 | 是 |
过滤条件 | 对API返回数据进行二次筛选(如排除停用设备)。 | 是 |
排序字段 | 对根节点数据排序的字段(如按产线创建时间排序)。 | 是 |
排序方式 | 排序方向(升序/降序)。 | 是 |
其他
如下属性适用于UI引擎所有组件,用于精细化控制。
属性名称 | 说明 | 是否支持变量绑定 |
|---|---|---|
元素id值 | 对应HTML标签的“id”属性,同一页面内必须唯一。 | 是 |
样式类 | 对应HTML标签的“class”属性,为空格分隔的类名列表,用于自定义组件样式。默认为“component-base-style”。 | 是 |
ref引用类 | 对应Vue的“ref”属性,用于注册模板引用以访问组件实例方法。 如果为“数据源表单”组件,会自动填充默认值。 | 是 |
显示连接线 | 控制是否在节点间显示层级连接线,增强树形结构的可读性。 开启后可能影响默认图标显示。 | 是 |
组件实例属性
组件实例可通过“treeRef”引用访问,提供丰富的动态操作能力。
通过“ref”引用访问组件实例属性:
// 在JS面板中访问组件实例
const treeInstance = this.$("ref引用类属性配置的值").treeRef; 方法名称 | 类型定义 | 说明 |
|---|---|---|
addNode | (node: object) => void | 在指定节点下添加子节点(如新增设备到某产线)。 |
append | (newData:object, targetNodeOrTargetKey: object | string) => void | 在目标节点的子节点列表顶部追加新节点。 |
expandAllNodes | (isExpand:boolean) => void | 展开或收起所有节点(如一键展开所有产线下的设备)。 |
getCurrentKey | () => string | 获取当前选中节点的key(如当前选中的设备ID)。 |
getCurrentNode | () => data | 获取当前选中节点的数据(如设备详情),未选中时返回null。 |
getNode | (data: string | object) => node | 通过节点key或数据对象获取节点实例。 |
getNodeKey | (node:object) => number | 获取节点的内部唯一ID。 |
getNodePath | (key:string) => object[] | 获取从根节点到目标节点的路径。 |
insertAfter | (newData:object, targetNodeOrTargetKey: object | string) => void | 在目标节点后插入新节点(如在某工序后添加新工序)。 |
insertBefore | (newData:object, targetNodeOrTargetKey: object | string) => void | 在目标节点前插入新节点。 |
remove | (targetNodeOrTargetKey: object | string, isSaveChildNode :boolean ) => void | 删除节点,“isSaveChildNode”为“true”时保留子节点并上移至父节点(如删除某产线但保留其设备)。 |
updateKeyChildren | (key, children: object[]) => void | 更新指定节点的所有子节点(如批量更新某产线下的设备列表)。 |
组件支持的事件(非系统内置事件)
模板树组件支持以下事件,用于监听节点交互行为并执行业务逻辑。
事件名称 | 事件方法类型 | 事件参数 | 说明 |
|---|---|---|---|
onNodeClick | (data, node, vm)=>void |
| 单击节点时触发的事件。 |
onLoadData | (data)=>void | data:加载的数据 | 懒加载数据成功时触发的事件。 |
onNodeCollapse | (data, node, vm)=>void |
| 节点收缩时触发的事件。 |
onNodeExpand | (data, node, vm)=>void |
| 节点展开时触发的事件。 |

