import{ax as i,z as a,A as n,b5 as l}from"./chunks/framework.V2ssSR2R.js";const o=JSON.parse('{"title":"propsService方法","description":"","frontmatter":{},"headers":[],"relativePath":"api/editor/propsServiceMethods.md","filePath":"api/editor/propsServiceMethods.md"}'),h={name:"api/editor/propsServiceMethods.md"};function t(k,s,p,e,r,d){return n(),a("div",null,[...s[0]||(s[0]=[l(`
参数:
{boolean} disabled 是否禁用数据源返回:
{void}详情:
设置是否禁用数据源(内部状态),影响 fillConfig 注入的公共配置
参数:
{boolean} disabled 是否禁用代码块返回:
{void}详情:
设置是否禁用代码块(内部状态),影响 fillConfig 注入的公共配置
返回:
{boolean} 是否禁用数据源详情:
获取是否禁用数据源的内部状态
返回:
{boolean} 是否禁用代码块详情:
获取是否禁用代码块的内部状态
扩展支持: 是
参数:
FormConfig} config{string} labelWidth 表单项 label 宽度,默认 '80px'export type FormConfig<T = never> = FormItemConfig<T>[];export type FormItemConfig<T = never> = ChildConfig<T> | DynamicTypeConfig | EditorChildConfig<T> | T;export type ChildConfig<T = never> =
| ContainerCommonConfig<T>
| TabConfig<T>
| RowConfig<T>
| FieldsetConfig<T>
| PanelConfig<T>
| TableConfig
| GroupListConfig<T>
| StepConfig<T>
| DisplayConfig
| TextConfig
| NumberConfig
| NumberRangeConfig
| HiddenConfig
| LinkConfig<T>
| DaterangeConfig
| TimerangeConfig
| SelectConfig
| CascaderConfig
| HtmlField
| DateConfig
| ColorPickConfig
| TimeConfig
| DateTimeConfig
| CheckboxConfig
| SwitchConfig
| RadioGroupConfig
| CheckboxGroupConfig
| TextareaConfig
| DynamicFieldConfig
| ComponentConfig
| FlexLayoutConfig<T>;export interface DynamicTypeConfig extends FormItem {
type: TypeFunction;
[key: string]: any;
}export interface FormItem {
/** vnode的key值,默认是遍历数组时的index */
__key?: string | number;
/** 表单域标签的的宽度,例如 '50px'。支持 auto。 */
labelWidth?: string | number;
/** label 标签的title属性 */
labelTitle?: string;
className?: string;
/** 字段名 */
name?: string | number;
/** 额外的提示信息,和 help 类似,当提示文案同时出现时,可以使用这个。 */
extra?: string | FilterFunction<string>;
/** 配置提示信息 */
tooltip?: ToolTipConfigType | FilterFunction<ToolTipConfigType>;
/** 是否置灰 */
disabled?: boolean | FilterFunction;
/** 使用表单中的值作为key,例如配置了text,则使用model.text作为key */
key?: string;
/** 是否显示 */
display?: boolean | 'expand' | FilterFunction<boolean | 'expand'>;
/** 值发生改变时调用的方法 */
onChange?: OnChangeHandler;
/** label 标签的文本 */
text?: string | FilterFunction<string>;
/** 右侧感叹号 */
tip?: string;
filter?: 'number' | OnChangeHandler;
/** 是否去除首尾空格 */
trim?: boolean;
/** 默认值 */
defaultValue?: any | DefaultValueFunction;
/** 表单验证规则 */
rules?: Rule[];
extensible?: boolean;
dynamicKey?: string;
/** 是否需要显示\`展开更多配置\` */
expand?: boolean;
style?: Record<string, any>;
fieldStyle?: Record<string, any>;
labelPosition?: 'top' | 'left' | 'right';
}返回:
FormConfig>}详情:
扩展属性表单配置DSL,用于为所有表单配置添加公共配置
参数:
FormConfig | PropsFormConfigFunction>} configsexport type PropsFormConfigFunction = (data: { editorService: EditorService }) => FormConfig;返回:
{void}详情:
设置组件与属性表单配置DSL的对应关系
扩展支持: 是
参数:
{string} type 组件类型FormConfig} config 属性表单配置DSL返回:
{Promise<void>}详情:
为指定类型组件设置组件属性表单配置
扩展支持: 是
参数:
{string} type 组件类型{Object} data 可选参数 MNode | null} node 当前节点export type MNode = MComponent | MContainer | MIteratorContainer | MPage | MApp | MPageFragment;export interface MComponent {
/** 组件ID,默认为\${type}_\${number}}形式, 如:page_123 */
id: Id;
/** 组件类型 */
type?: string;
/** 组件显示名称 */
name?: string;
/** 组件根Dom上的class */
className?: string;
/* 关联事件集合 */
events?: EventConfig[];
/** 是否隐藏 */
visible?: boolean;
/** 显示条件中配置的数据源条件的编译结果 */
condResult?: boolean;
/** 组件根Dom的style */
style?: StyleSchema;
[NODE_CONDS_KEY]?: DisplayCond[];
[NODE_CONDS_RESULT_KEY]?: boolean;
[key: string]: any;
}export interface MContainer extends MComponent {
/** 容器类型,默认为'container' */
type?: NodeType.CONTAINER | string;
/** 容器子元素 */
items: (MComponent | MContainer)[];
}export interface MIteratorContainer extends MContainer {
type: 'iterator-container';
iteratorData: any[];
dsField: string[];
itemConfig: {
layout: string;
[NODE_CONDS_KEY]: DisplayCond[];
style: Record<string, string | number>;
};
}export interface MPage extends MContainer {
/** 页面类型 */
type: NodeType.PAGE;
}export interface MApp extends MComponent {
/** App页面类型,app作为整个结构的根节点;有且只有一个 */
type: NodeType.ROOT;
/** */
items: (MPage | MPageFragment)[];
/** 代码块 */
codeBlocks?: CodeBlockDSL;
dataSources?: DataSourceSchema[];
dataSourceDeps?: DataSourceDeps;
dataSourceCondDeps?: DataSourceDeps;
dataSourceMethodDeps?: DataSourceDeps;
}export interface MPageFragment extends MContainer {
/** 页面类型 */
type: NodeType.PAGE_FRAGMENT;
}返回:
FormConfig>}详情:
获取指点类型的组件属性表单配置
参数:
MNode>} values返回:
{void}详情:
设置组件与属性表单默认值的对应关系
参数:
{string} type 组件类型MNode} value 组件初始值返回:
{Promise<void>}详情:
设置组件与属性表单默认值的对应关系
扩展支持: 是
参数:
{string} type 组件类型{Object} defaultValue 组件默认值,可选返回:
MNode>} 合并默认配置后的节点对象详情:
获取指定类型的组件初始值,会合并 getDefaultPropsValue 与已注册的 propsValue,并自动生成 id
扩展支持: 是
参数:
{string | number} type 组件类型返回:
{string} 生成的组件id(格式为 type_guid)详情:
生成组件id
扩展支持: 是
参数:
MNode} config{boolean} force 是否强制设置新ID,默认 true返回:
MNode} 处理后的节点详情:
将组件与组件的子元素配置中的id都设置成一个新的ID
扩展支持: 是
参数:
{string} type 组件类型返回:
{Object} 默认属性配置对象(包含 type、style、name 等基础字段,page/container 类型会额外包含 layout、items)详情:
获取默认属性配置
参数:
MNode[]} originConfigs 原始组件配置MNode[]} targetConfigs 待替换的组件配置{TargetOptions} collectorOptions 依赖收集器配置返回:
{void}详情:
根据 setNewItemId 收集到的新旧 id 映射,替换目标配置中关联引用的 id(用于复制粘贴时保持组件间的关联依赖)
返回:
{void}详情:
清除 setNewItemId 维护的新旧 id 映射关系
详情:
清空所有组件的属性配置 (propsConfigMap) 与初始值 (propsValueMap)。
TIP
本方法不会重置 disabledDataSource / disabledCodeBlock 标记,也不会清空 relateIdMap;如需清理后两者,请分别调用 setDisabledDataSource / setDisabledCodeBlock 与 clearRelateId。
详情:
销毁propsService
详情:
usePlugin支持灵活细致的扩展, 上述方法中标记有扩展支持: 是的方法都支持使用usePlugin扩展
每个支持扩展的方法都支持定制before、after两个hook来干预原有方法的行为,before可以用于修改传入参数,after可以用于修改返回的值
删掉当前设置的所有扩展
`,43)])])}const y=i(h,[["render",t]]);export{o as __pageData,y as default};