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类型必填说明
metaDslMeta是zen_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