import{ax as i,z as e,A as a,b5 as n}from"./chunks/framework.V2ssSR2R.js";const g=JSON.parse('{"title":"Form组件 events","description":"","frontmatter":{},"headers":[],"relativePath":"api/form/form-events.md","filePath":"api/form/form-events.md"}'),t={name:"api/form/form-events.md"};function l(r,s,o,h,d,p){return a(),e("div",null,[...s[0]||(s[0]=[n(`
详情: 表单中任何值发生变化
事件回调函数: (values: any, eventData: ContainerChangeEventData) => void
其中 ContainerChangeEventData 定义如下:
interface ChangeRecord {
propPath?: string;
value: any;
}
interface ContainerChangeEventData {
modifyKey?: string;
changeRecords?: ChangeRecord[];
}详情: 表单校验失败时触发。回调收到的是 element-plus validate 返回的 invalidFields 结构(按字段名分组的校验失败项),而不是 Error 实例
事件回调函数: (invalidFields: Record<string, { message: string; field: string }[]>) => void
详情: 表单项 input 事件触发时由内部表单项向上派发,用于监听单个字段的输入
事件回调函数: (prop: string, value: any) => void
详情: 表单项 change 事件触发时由内部表单项向上派发,用于监听单个字段的变更
事件回调函数: 存在两种派发形式,监听时需注意区分:
Tabs、useImport 等)派发的是 (prop: string, value: any) => void;useSortable、useTableColumns 等)会只派发整行/整批数据:(newData: any) => void。如果只关心字段维度,可在回调里通过 arguments.length === 1 区分,或在表格类场景额外监听上层的 change 事件。
详情: 当内部 step 容器切换步骤时触发。Step.vue 在点击步骤时派发的是 index + 1(number),文档类型保留 string | number 兼容父级初始传入
事件回调函数: (active: string | number) => void