🐛 Reworking select input
This commit is contained in:
parent
281126df6d
commit
5aeb14a38c
@ -1,5 +1,6 @@
|
||||
import React, { ReactNode } from "react";
|
||||
import BaseField, { IError, IProps as IBaseFieldProps } from "./Elements/BaseField";
|
||||
|
||||
import BaseField, { IProps as IBaseFieldProps, IError } from "./Elements/BaseField";
|
||||
|
||||
export type IBaseField = BaseField<IBaseFieldProps>;
|
||||
|
||||
@ -90,13 +91,25 @@ export default class Form extends React.Component<IProps, IState> {
|
||||
|
||||
if (this.props.onValidated) this.props.onValidated();
|
||||
|
||||
const elementsValues = this.getAllChildrenFields(e).reduce(
|
||||
const allChildren = this.getAllChildrenFields(e);
|
||||
const elementsValues = allChildren.reduce(
|
||||
(obj, element) => ({ ...obj, [element.getAttribute("name") ?? ""]: (element as any).value }),
|
||||
{},
|
||||
);
|
||||
|
||||
const radioInputs = allChildren.filter((e) => e.getAttribute("type") === "radio").filter((e) => (e as any).checked);
|
||||
const radioInputsValues = radioInputs.reduce(
|
||||
(obj, element) => ({ ...obj, [element.getAttribute("name") ?? ""]: (element as any).value }),
|
||||
{},
|
||||
);
|
||||
|
||||
const allInputs = {
|
||||
...elementsValues,
|
||||
...radioInputsValues,
|
||||
}
|
||||
|
||||
if (this.props.onSubmit) {
|
||||
this.props.onSubmit(e, elementsValues, this.onSubmitErrorApi);
|
||||
this.props.onSubmit(e, allInputs, this.onSubmitErrorApi);
|
||||
}
|
||||
|
||||
return { values: elementsValues };
|
||||
|
Loading…
x
Reference in New Issue
Block a user