createForm()
function createForm<T>(config): FormBundle<T>;
Defined in: form/form-bundle.ts:250
Собрать модель, форму, уровень формы (проверка, отправка, поток шагов) и дерево для рендера за один проход.
Type Parameters
T
T extends object
Форма данных модели.
Parameters
config
CreateFormConfig: (initial | model) + опц. schema, registry,
behavior, validation, flow, seed, setup.
Returns
FormBundle<T>
FormBundle — { model, form, render, flow, validate, validateStep, submission, … }.
Examples
const credit = useFormBundle(() =>
createForm<CreditForm>({
model: createCreditModel(),
schema: creditSchema, // (model) => узел
behavior: creditBehavior,
validation: { extras: crossRules },
flow: { steps: [{ id: 'loan', rules: loanRules }, { id: 'confirm' }] },
})
);
return <FormRenderer form={credit} settings={{ fieldWrapper: FormField }} />;
const credit = useFormBundle(() => createForm<CreditForm>({ initial, schema: creditSchema }));
const send = async () => {
const result = await credit.submission.submit(api.send);
if (result.status === 'invalid') showHint('Проверьте форму');
};
return <FormField control={credit.form.loanType} />;
const credit = useFormBundle(() =>
createForm<CreditForm>({ model: createCreditModel(), schema: creditJson, registry })
);
return <FormRenderer form={credit} />;