不再单独定义分组字段

This commit is contained in:
2025-08-07 20:35:25 +08:00
parent d22299e01b
commit 983320d500

View File

@@ -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<ScreenDesignModeConfig["components"][0]['id']>; // 子组件id
@@ -83,21 +83,21 @@ export interface ScreenDesignModeConfig {
// 交互对象允许多选,多选后,交互动作的范围收缩到所选交互对象共有的动作
// 如何判断一个动作是否为指定的多个交互对象所共有?动作名称与动作参数都相同
// 为什么要添加beforeAction字段计划支持分组向内部组件分派数据
// 即组件允许实现一个名为【更新数据】的动作区别于【请求数据】
// 即组件允许实现一个名为【更新数据】的动作(区别于【请求数据】)
// 该动作接收参数并将其直接赋值给组件数据,为了规范数据,在设计时需要在动作执行前做一些预处理
actions: {
components: Array<{
id: string; // 下游交互组件ID
name: string;
filtersReturn: any; // 与判断条件的返回值相对应
beforeAction: Array<string>; // 交互前动作过滤器ID
beforeAction: Array<string>; // 交互前动作(过滤器ID)
actionName: string; // 交互动作名称
params: any; // 交互动作参数
}>;
variables: Array<{
id: string;
name: string;
beforeAction: Array<string>; // 交互前动作过滤器ID
beforeAction: Array<string>; // 交互前动作(过滤器ID)
actionName: string; // 交互动作名称
params: any; // 交互动作参数
}>;
@@ -106,11 +106,6 @@ export interface ScreenDesignModeConfig {
}>;
};
}>;
groups: Array<{
id: string;
name: string;
children: Array<string>;
}>;
// 全局变量
// 如果一个全局变量的数据源是静态数据源,则只通过组件的事件去更新变量
// 如果一个全局变量的数据源是API则尽量不要由组件事件去更新这个变量