From 983320d500b1e5d740c7f7434a356c70e230123b Mon Sep 17 00:00:00 2001 From: skycurtain Date: Thu, 7 Aug 2025 20:35:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E5=86=8D=E5=8D=95=E7=8B=AC=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=88=86=E7=BB=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/datax-screen-config.ts | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/datax-screen-config.ts b/src/datax-screen-config.ts index 7b1c796..cb08096 100644 --- a/src/datax-screen-config.ts +++ b/src/datax-screen-config.ts @@ -9,15 +9,15 @@ export interface ScreenDesignModeConfig { stretchMode: string; // 拉伸模式 }; // 组件配置 - // 可以支持组件包含子组件 - // 可以设计对话框和悬浮窗组件,例如它们的type分别为 Modal 和 FloatingPanel, + // 可以支持组件包含子组件 (对于地图组件,它的子组件是逻辑层面的而并非大屏上的真实组件,因此不算作子组件) + // 例如可以设计对话框和悬浮窗组件,例如它们的type分别为 Modal 和 FloatingPanel, // 当在物料区的图层编辑器中点击编辑该组件时,会打开一个新的屏幕设计器,物料区中加载子组件。 + // 将分组(group)也视为一种特殊的组件,统一在components数组中管理,从而实现统一的图层排序能力。 components: Array<{ - id: string; // 组件id(唯一) + id: string; // 组件id(唯一) type: string; // 组件类型 - name: string; // 组件名称(可由用户定义) - groupId?: string; // 组件所在分组ID(如果存在) - parentId?: string; // 组件的父组件ID(如果存在),没有parentId的组件称为顶层组件 + name: string; // 组件名称(可由用户定义) + parentId?: string; // 组件的父组件ID(如果存在),没有parentId的组件称为顶层组件 // 当多个顶层组件成组时,组件的层级会被修改,也就是说分组并不是组件层级的参考系,组件的层级永远只与大屏和父组件有关 zIndex?: number; // 组件在大屏/父组件中的层级 children: Array; // 子组件id @@ -83,21 +83,21 @@ export interface ScreenDesignModeConfig { // 交互对象允许多选,多选后,交互动作的范围收缩到所选交互对象共有的动作 // 如何判断一个动作是否为指定的多个交互对象所共有?动作名称与动作参数都相同 // 为什么要添加beforeAction字段?计划支持分组向内部组件分派数据, - // 即组件允许实现一个名为【更新数据】的动作(区别于【请求数据】), + // 即组件允许实现一个名为【更新数据】的动作(区别于【请求数据】), // 该动作接收参数并将其直接赋值给组件数据,为了规范数据,在设计时需要在动作执行前做一些预处理 actions: { components: Array<{ id: string; // 下游交互组件ID name: string; filtersReturn: any; // 与判断条件的返回值相对应 - beforeAction: Array; // 交互前动作(过滤器ID) + beforeAction: Array; // 交互前动作(过滤器ID) actionName: string; // 交互动作名称 params: any; // 交互动作参数 }>; variables: Array<{ id: string; name: string; - beforeAction: Array; // 交互前动作(过滤器ID) + beforeAction: Array; // 交互前动作(过滤器ID) actionName: string; // 交互动作名称 params: any; // 交互动作参数 }>; @@ -106,11 +106,6 @@ export interface ScreenDesignModeConfig { }>; }; }>; - groups: Array<{ - id: string; - name: string; - children: Array; - }>; // 全局变量 // 如果一个全局变量的数据源是静态数据源,则只通过组件的事件去更新变量 // 如果一个全局变量的数据源是API,则尽量不要由组件事件去更新这个变量