FormDialog 表单
很多表单是放在弹框里面出现的, 为了方便对弹框的操作,可以使用该组件
TIP
大部分时候推荐使用 useFormDialog api 来操作你的表单
useFormDialog 方法
element-ultra 提供了一个 useFormDialog 的 hooks, 该函数接收一个响应式的对象, 返回 dialog 对象和 open 方法。
dialog 属性:
- visible 控制表单的显示隐藏
- ctx 一个可以传入任意值的上下文
- data 填充到表单的数据,一旦传入该属性, 原始表单数据会被自动合并
- title 标题
- type 类型默认有'create' 'update'两种
import { useFormDialog, useFormModel } from 'elelemnt-ultra'
const [data, rules] = useFormModel({
field1: {},
field2: {}
})
// or
// const data = reactive({
// field1: '',
// field2: ''
// })
// useFormDialog方法默认有'create' | 'update'两种类型, 你也可以传入自定义类型
const [dialog, open] = useFormDialog<'create' | 'update'>(data)
// 分页页面
open('create', {
title: '弹框标题',
ctx: {
parentId: ''
}
})
// 上面的open调用后
// 弹框会被打开
// 你可以访问dialog对象访问由open传入的数据
基础示例
多个表单
FormDialog 属性
interface FormDialogProps {
/** 显隐 */
readonly modelValue: boolean
/** 是否显示提交并继续按钮 */
readonly continue: boolean
/** 标题 */
readonly title?: string | undefined
/** 提交 */
readonly confirm?: FormDialogConfirmFn | undefined
}