Skip to content

dialogForm 弹窗数据表格

TIP

内部实现是 ElDialog + ProForm 组件

属性

参数说明类型默认值可选值
v-model(必传)是否显示 DialogBoolean
dialogConfig弹窗配置DialogConfig
dialogEvents弹窗事件DialogEmits
formConfig(必传)表单配置BasicForm
formData(必传)表单数据(编辑时回显的数据)Object
create(必传)表单新增方法(参数 data:表单数据)Function
update(必传)表单编辑方法 (参数 data:表单数据)Function
formSubmit(如果传此参数 create 和 update 就不需要传)自定义表单提交方法(参数 data:表单数据)Function

BasicForm

ts
type BasicForm = {
  props?: Partial<FormProps> // 表单属性(element-plus的form属性)
  route?: any // 路由(默认是弹窗方式,如果要打开一个新页面,可以配置此项)
  span?: number // 栅格占位
  disabled?: boolean // 是否禁用
  formItems: BasicFormItem[]
}
type BasicFormItem = {
  label: string // 表单标签
  value: any // 表单值
  name: string // 接口需要的字段名
  type: string // 表单类型
  placeholder?: string
  children?: Array<BasicFormItem>
  options?: Array<any> // 下拉框选项
  search?: boolean // 是否出现在搜索框
  required?: boolean // 是否必填
  rules?: FormItemRule | FormItemRule[] // 表单验证规则
  span?: number // 栅格占位
  props?: object // 组件属性
  events?: object // 组件事件
  request?: Function // 异步请求数据
  slots?: Array<FormSlot> // 自定义插槽
  notFormItem?: boolean // 是否为表单项
  hidden?: boolean // 是否隐藏
  extra?: any // 额外信息
  formItemProps?: object // formItem属性
  formItemSlots?: Array<FormSlot> // formItem插槽
}
type FormSlot = {
  name: string // 插槽名称
  alias: string // 插槽别名
}
type DialogConfig = Partial<DialogProps> & {
  confirmText?: string // 确认按钮文字
  cancelText?: string // 取消按钮文字
  btnExchange?: boolean // 按钮顺序是否交换
  btnIcon?: boolean // 是否显示按钮图标
}

事件

事件名说明类型参数
success表单提交成功后触发Function
close弹窗关闭Function

Exposes

名称说明类型参数
getForm获取表单实例Function
submit表单提交Function