Skip to content

DslForm

DSL 驱动的表单组件,根据 zen_meta 自动渲染分区、字段、验证规则。

基本用法

tsx
import { DslForm } from '@/modules/dsl/DslForm'

<DslForm
  meta={meta}
  initialValues={editing || {}}
  onFinish={handleFinish}
  associations={{ category: categories.map(c => ({ label: c.name, value: c.id })) }}
  submitText={editing ? '更新' : '创建'}
/>

Props

Prop类型必填说明
metaDslMetazen_meta JSON
initialValuesRecord<string, any>表单初始值
onFinish(values) => Promise<boolean | void>提交回调
associationsRecord<string, Array<{label, value}>>关联数据源
submitTextstring提交按钮文字
disabledboolean是否禁用

字段类型映射

DSL as:前端组件
textProFormText
textareaProFormTextArea
rich_textRichTextEditor
numberProFormDigit
switchProFormSwitch
radioProFormRadio.Group
selectProFormSelect
dateProFormDatePicker
datetimeProFormDateTimePicker