tmagic-editor/docs/api/editor/propsServiceMethods.md
roymondchen 873a51fc87 docs: 升级 VitePress 至 v2 alpha,类型引用改为源码片段同步
- 升级 vitepress 到 ^2.0.0-alpha.17
- vite.optimizeDeps.rolldownOptions.transform.define 迁移至 vite.define 以适配 v2 API
- 同步升级 vitest/rolldown/vue/vite 等周边依赖
- 文档中类型链接统一改为 <<< 片段引用源码 region,避免 commit hash 链接失效
- packages/{core,editor,form-schema,schema,stage} 相关类型加 // #region 锚点
- 移除已废弃的 docs/guide/advanced/tmagic-ui.md 及侧栏入口

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 11:47:03 +08:00

6.1 KiB
Raw Blame History

propsService方法

setDisabledDataSource

  • 参数:

    • {boolean} disabled 是否禁用数据源
  • 返回:

    • {void}
  • 详情:

    设置是否禁用数据源(内部状态),影响 fillConfig 注入的公共配置

setDisabledCodeBlock

  • 参数:

    • {boolean} disabled 是否禁用代码块
  • 返回:

    • {void}
  • 详情:

    设置是否禁用代码块(内部状态),影响 fillConfig 注入的公共配置

getDisabledDataSource

  • 返回:

    • {boolean} 是否禁用数据源
  • 详情:

    获取是否禁用数据源的内部状态

getDisabledCodeBlock

  • 返回:

    • {boolean} 是否禁用代码块
  • 详情:

    获取是否禁用代码块的内部状态

fillConfig

  • 扩展支持

  • 参数:

    • {FormConfig} config
    • {string} labelWidth 表单项 label 宽度,默认 '80px'

    ::: details 查看 FormConfig 及关联类型定义 <<< @/../packages/form-schema/src/base.ts#FormConfig{ts}

    <<< @/../packages/form-schema/src/base.ts#FormItemConfig{ts}

    <<< @/../packages/form-schema/src/base.ts#ChildConfig{ts}

    <<< @/../packages/form-schema/src/base.ts#DynamicTypeConfig{ts}

    <<< @/../packages/form-schema/src/base.ts#FormItem{ts} :::

  • 返回:

    • {Promise<FormConfig>}
  • 详情:

    扩展属性表单配置DSL用于为所有表单配置添加公共配置

setPropsConfigs

  • 参数:

    • {Record<string, FormConfig | PropsFormConfigFunction>} configs

    ::: details 查看 PropsFormConfigFunction 类型定义 <<< @/../packages/editor/src/type.ts#PropsFormConfigFunction{ts} :::

  • 返回:

    • {void}
  • 详情:

    设置组件与属性表单配置DSL的对应关系

setPropsConfig

  • 扩展支持

  • 参数:

    • {string} type 组件类型
    • {FormConfig} config 属性表单配置DSL
  • 返回:

    • {Promise<void>}
  • 详情:

    为指定类型组件设置组件属性表单配置

getPropsConfig

  • 扩展支持

  • 参数:

    • {string} type 组件类型
    • {Object} data 可选参数
      • {MNode | null} node 当前节点

    ::: details 查看 MNode 及关联类型定义 <<< @/../packages/schema/src/index.ts#MNode{ts}

    <<< @/../packages/schema/src/index.ts#MComponent{ts}

    <<< @/../packages/schema/src/index.ts#MContainer{ts}

    <<< @/../packages/schema/src/index.ts#MIteratorContainer{ts}

    <<< @/../packages/schema/src/index.ts#MPage{ts}

    <<< @/../packages/schema/src/index.ts#MApp{ts}

    <<< @/../packages/schema/src/index.ts#MPageFragment{ts} :::

  • 返回:

    • {Promise<FormConfig>}
  • 详情:

    获取指点类型的组件属性表单配置

setPropsValues

  • 参数:

    • {Record<string, MNode>} values
  • 返回:

    • {void}
  • 详情:

    设置组件与属性表单默认值的对应关系

setPropsValue

  • 参数:

    • {string} type 组件类型
    • {MNode} value 组件初始值
  • 返回:

    • {Promise<void>}
  • 详情:

    设置组件与属性表单默认值的对应关系

getPropsValue

  • 扩展支持

  • 参数:

    • {string} type 组件类型
    • {Object} defaultValue 组件默认值,可选
  • 返回:

    • {Promise<MNode>} 合并默认配置后的节点对象
  • 详情:

    获取指定类型的组件初始值,会合并 getDefaultPropsValue 与已注册的 propsValue并自动生成 id

createId

  • 扩展支持

  • 参数:

    • {string | number} type 组件类型
  • 返回:

    • {string} 生成的组件id格式为 type_guid
  • 详情:

    生成组件id

setNewItemId

  • 扩展支持

  • 参数:

    • {MNode} config
    • {boolean} force 是否强制设置新ID默认 true
  • 返回:

    • {MNode} 处理后的节点
  • 详情:

    将组件与组件的子元素配置中的id都设置成一个新的ID

getDefaultPropsValue

  • 扩展支持

  • 参数:

    • {string} type 组件类型
  • 返回:

    • {Object} 默认属性配置对象(包含 typestylename 等基础字段,page/container 类型会额外包含 layoutitems
  • 详情:

    获取默认属性配置

replaceRelateId

  • 参数:

    • {MNode[]} originConfigs 原始组件配置
    • {MNode[]} targetConfigs 待替换的组件配置
    • {TargetOptions} collectorOptions 依赖收集器配置
  • 返回:

    • {void}
  • 详情:

    根据 setNewItemId 收集到的新旧 id 映射,替换目标配置中关联引用的 id用于复制粘贴时保持组件间的关联依赖

clearRelateId

  • 返回:

    • {void}
  • 详情:

    清除 setNewItemId 维护的新旧 id 映射关系

resetState

  • 详情:

    清空所有组件的属性配置 (propsConfigMap) 与初始值 (propsValueMap)。

    ::: tip 本方法不会重置 disabledDataSource / disabledCodeBlock 标记,也不会清空 relateIdMap;如需清理后两者,请分别调用 setDisabledDataSource / setDisabledCodeBlockclearRelateId。 :::

destroy

  • 详情:

    销毁propsService

use

使用中间件的方式扩展方法,上述方法中标记有扩展支持: 是的方法都支持使用use扩展

usePlugin

  • 详情:

相对于use, usePlugin支持更加灵活更加细致的扩展 上述方法中标记有扩展支持: 是的方法都支持使用usePlugin扩展

每个支持扩展的方法都支持定制before、after两个hook来干预原有方法的行为before可以用于修改传入参数after可以用于修改返回的值

removeAllPlugins

  • 详情:

删掉当前设置的所有扩展