Form.formProps

Massimo Melina committed Jan 7, 2023 at 19:08 UTC fd13771e1cf1a21fe7886de4e370a81a4498452f
1 file changed +5 -1
mui-grid-form/src/Form.ts
+5 -1
@@ -4,6 +4,7 @@ import {
4 createElement as h,
5 FC,
6 Fragment,
7 + HTMLProps,
8 isValidElement,
9 ReactElement,
10 ReactNode,
@@ -66,6 +67,7 @@ export interface FormProps<Values> extends Partial<BoxProps> {
67 formRef?: MutableRefObject<HTMLFormElement | undefined>
68 saveOnEnter?: boolean
69 gridProps?: Partial<GridProps>
70 + formProps?: HTMLProps<HTMLFormElement>
71 }
72 enum Phase { Idle, WaitValues, Validating }
73
@@ -82,6 +84,7 @@ export function Form<Values extends Dict>({
84 onError,
85 saveOnEnter,
86 gridProps,
87 + formProps,
88 ...rest
89 }: FormProps<Values>) {
90 const mounted = useRef(false)
@@ -103,6 +106,7 @@ export function Form<Values extends Dict>({
106 const apis: Dict<FieldApi> = {}
107 return h('form', {
108 ref: formRef && (x => formRef.current = x ? x as HTMLFormElement : undefined),
109 + ...formProps,
110 onSubmit(ev) {
111 ev.preventDefault()
112 },
@@ -165,7 +169,7 @@ export function Form<Values extends Dict>({
169 const { xs=12, sm, md, lg, xl, comp=StringField, before, after,
170 fromField, toField, // don't propagate
171 ...rest } = field
168 - return h(Grid, { key: k, item: true, xs, sm, md, lg, xl },
172 + return h(Grid, { key: k || idx, item: true, xs, sm, md, lg, xl },
173 before,
174 isValidElement(comp) ? comp : h(comp, rest),
175 after