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

2.0 KiB

DynamicField 动态表单

根据模型中某个字段的值,动态生成一组表单字段。

基础用法

<template #source>

当“类型”发生变化时,“动态字段”会根据 returnFields 返回的配置生成不同的输入框。

:::warning 特别注意:dynamic-field 的上一级配置必须设置 extensible: true,才能保存未在 schema 中声明的动态字段。 :::

Attributes

参数 说明 类型 可选值 默认值
type 组件类型 string dynamic-field
text 表单标签 string
dynamicKey 监听的字段名。当该字段值变化时,触发 returnFields 重新计算 string
returnFields 返回字段列表的函数 (config, model, request) => Promise<Field[]>

Field 对象结构

参数 说明 类型 默认值
name 字段名 string
label 标签名 string
defaultValue 默认值 any

配置类型

::: details 查看 DynamicFieldConfig 配置类型定义 <<< @/../packages/form-schema/src/base.ts#DynamicFieldConfig{ts}

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

:::