mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2026-05-24 09:23:37 +00:00
提供脱离组件树以函数方式完成一次表单校验/提交的能力,类似 ElMessage 用法: 传入 config/initValues 等 props 后内部临时挂载 Form 实例, 初始化完成即调用 submitForm,校验通过 resolve 表单值、失败 reject, 最后自动卸载,并支持 appContext 继承、timeout 与 native 透传。 同步补充单元测试、API 文档及侧边栏入口。 Co-authored-by: Cursor <cursoragent@cursor.com>
72 lines
2.0 KiB
Markdown
72 lines
2.0 KiB
Markdown
# Form组件 methods
|
|
|
|
## resetForm
|
|
|
|
- **详情:** 重置该表单项,将其值重置为初始值,并移除校验结果
|
|
|
|
## submitForm
|
|
|
|
- **签名:** `async (native?: boolean) => Promise<any>`
|
|
|
|
- **参数:**
|
|
|
|
- `native?: boolean` - 是否返回原始表单值。当 `native` 为 `true` 时返回内部 `values.value`(响应式原值);否则返回 `cloneDeep(toRaw(values.value))`(深拷贝后的纯对象)
|
|
|
|
- **返回:**
|
|
|
|
- `{Promise<any>}` - 校验通过后返回当前表单值;校验失败时会触发 `error` 事件并 throw 一个包含错误信息的 `Error`
|
|
|
|
- **详情:** 提交表单,先执行校验,校验通过后清空 `changeRecords` 并返回当前表单值
|
|
|
|
- **相关:** 如果你想脱离组件树以函数方式完成一次表单提交,参见 [`submitForm` 函数](./submit-form.md)
|
|
|
|
## changeHandler
|
|
|
|
- **签名:** `(prop: string, value: any, eventData?: ContainerChangeEventData) => void`
|
|
|
|
- **详情:** 表单项值变更处理函数,会根据传入的 `propPath` 更新内部表单值,并向上 emit `change` 事件
|
|
|
|
## getTextByName
|
|
|
|
- **签名:** `(name: string) => string | undefined`
|
|
|
|
- **参数:**
|
|
|
|
- `name: string` - 字段名,支持点分隔的路径格式,如 `'a.b.c'`
|
|
|
|
- **返回:**
|
|
|
|
- `{string | undefined}` - 找到的 `text` 值,如果未找到则返回 `undefined`
|
|
|
|
- **详情:** 通过 `name` 从表单 `config` 中查找对应表单项的 `text`
|
|
|
|
## values
|
|
|
|
- **类型:** `Ref<FormValue>`
|
|
|
|
- **详情:** 当前表单值的响应式引用
|
|
|
|
## lastValuesProcessed
|
|
|
|
- **类型:** `Ref<FormValue>`
|
|
|
|
- **详情:** 对比模式下,处理后的待对比表单值
|
|
|
|
## formState
|
|
|
|
- **类型:** `FormState`
|
|
|
|
- **详情:** 内部使用的 formState 对象(`reactive`),通过 `provide('mForm')` 注入给子组件
|
|
|
|
## initialized
|
|
|
|
- **类型:** `Ref<boolean>`
|
|
|
|
- **详情:** 表单是否已经完成初始化
|
|
|
|
## changeRecords
|
|
|
|
- **类型:** `ShallowRef<ChangeRecord[]>`
|
|
|
|
- **详情:** 表单变更记录列表,提交成功或重置后会被清空
|