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