Skip to content

ModalDetail组件

该组件为ModalForm组件的进一步封装。

基于ProFormFields配置快速生成一个弹窗表单,包含编辑、创建、详情状态。

  • 快速提供增/改/查看的能力,只需要配置下fields
  • 自动处理表单校验
  • 自动提交新增/更新请求
  • 自动防止多次提交
  • 关闭时自动清空弹窗内容

使用方法

基础用法
显示代码
  • 编辑模式下,点击提交时,会自动调用updateService,并传入表单数据
  • 新增模式下,点击提交时,会自动调用createService,并传入表单数据

通过type指定模式:'add'|'edit'|'detail',或通过以下规则自动判断。

  • 当viewMode为true时,弹窗为详情弹窗
  • 当viewMode为false 且 formData/defaultValue中包含id,则弹窗为编辑弹窗
  • 当viewMode为false 且 formData/defaultValue 中不含id,弹窗为新增弹窗
  • 可通过idKey配置数据项唯一标识属性名,默认为'id'

API

属性类型默认值是否必须描述
titlestring-可选模态框标题
widthnumber520可选模态框宽度
defaultValueAny-可选表单默认值
v-model:formDataRecord<string, any>-可选使用受控模式管理表单数据,使用该值时defaultValue无效
viewModeBooleanfalse可选是否为查看模式
idKeystring'id'可选数据项唯一标识属性名
fieldsArray[]必须表单项列表
columnnumber2可选表单列数
type'edit' | 'create' | 'detail'-可选模式。不指定则根据formData/defaultValue 是否包含id自动判断
updateService(formValues: Record<string, any>) => void-可选更新数据的服务方法
createService(formValues: Record<string, any>) => void-可选创建数据的服务方法
propPrefixany[]-可选参考ProFormFields
formItemPropsRecord<string, any>-可选默认formItem配置,参考ProFormFields
事件参数描述
open() => void弹窗打开
ok(formValues: Record<string, any>) => void用户提交数据并由请求成功后触发,如更新/创建成功后使用此事件触发列表页刷新
formChange(formValues: Record<string, any>) => void表单state变动时触发

联动

参见 ModalForm

slot

参见 ModalForm