基于画面布局动态渲染字段输入,支持多种输入组件类型、表单验证和双模式(新建/编辑)操作。
RecordForm 是前台新建和编辑记录的表单组件。它基于画面布局(Page Layout)动态渲染输入字段,支持多种字段输入组件类型,包括文本输入、下拉选择、查找关联等。
RecordForm 根据 LayoutBuilder 中配置的画面布局生成表单,LayoutItem 映射到 FieldInput 组件。
| 组件类型 | 说明 | 适用场景 |
|---|---|---|
input | 标准文本输入 | Text、Number、Email 等 |
lookupcombobox | 查找关联 ComboBox | 外键关联字段 |
picklist | 下拉选择 | Picklist 字段 |
datepicker | 日期选择器 | Date、DateTime 字段 |
textarea | 多行文本 | LongText 字段 |
checkbox | 复选框 | Boolean 字段 |
behavior === 'Required' 的字段| 模式 | recordId | 行为 |
|---|---|---|
| 新建 | 无 | 空白表单,提交调用 createRecord |
| 编辑 | 有 | 加载记录数据,提交调用 updateRecordById |
如果对象配置了多个布局,RecordForm 支持切换不同的布局。默认选择 is_default 布局或第一个布局。
RecordForm 通过 forwardRef + useImperativeHandle 暴露 ref.current.submit() 和 ref.current.saving。
forwardRef + useImperativeHandleobjectFieldsSlice)getRecord, createRecord, updateRecordById, getLayoutsByObjectlookupcombobox 类型字段,加载关联对象记录@salesforce/design-system-react 的 Spinner, Toast, Combobox