feat: form context provider
This commit is contained in:
parent
faa7d819a1
commit
20710b40ea
@ -1,5 +1,6 @@
|
|||||||
import { FormLayout } from '@formily/antd';
|
import { FormLayout } from '@formily/antd';
|
||||||
import { ISchema } from '@formily/react';
|
import { createForm } from '@formily/core';
|
||||||
|
import { FormContext, ISchema } from '@formily/react';
|
||||||
import { uid } from '@formily/shared';
|
import { uid } from '@formily/shared';
|
||||||
import {
|
import {
|
||||||
CardItem,
|
CardItem,
|
||||||
@ -30,6 +31,7 @@ const schema: ISchema = {
|
|||||||
grid: {
|
grid: {
|
||||||
type: 'void',
|
type: 'void',
|
||||||
'x-component': 'Grid',
|
'x-component': 'Grid',
|
||||||
|
'x-read-pretty': true,
|
||||||
'x-initializer': 'AddFieldButton',
|
'x-initializer': 'AddFieldButton',
|
||||||
'x-uid': uid(),
|
'x-uid': uid(),
|
||||||
properties: {},
|
properties: {},
|
||||||
@ -53,6 +55,11 @@ const gridRowColWrap = (schema: ISchema) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const form = createForm({
|
||||||
|
initialValues: {},
|
||||||
|
// readPretty: true,
|
||||||
|
});
|
||||||
|
|
||||||
const FormItemInitializer = (props) => {
|
const FormItemInitializer = (props) => {
|
||||||
const { item, insert } = props;
|
const { item, insert } = props;
|
||||||
const { getInterface } = useCollectionManager();
|
const { getInterface } = useCollectionManager();
|
||||||
@ -68,6 +75,7 @@ const FormItemInitializer = (props) => {
|
|||||||
options.name = name;
|
options.name = name;
|
||||||
options.uiSchema.title = name;
|
options.uiSchema.title = name;
|
||||||
collection.fields.push(options);
|
collection.fields.push(options);
|
||||||
|
form.setValuesIn(name, uid());
|
||||||
insert({
|
insert({
|
||||||
name,
|
name,
|
||||||
'x-component': 'CollectionField',
|
'x-component': 'CollectionField',
|
||||||
@ -115,9 +123,11 @@ export default function App() {
|
|||||||
<SchemaInitializerProvider initializers={{ AddFieldButton }}>
|
<SchemaInitializerProvider initializers={{ AddFieldButton }}>
|
||||||
<CollectionManagerProvider>
|
<CollectionManagerProvider>
|
||||||
<CollectionProvider collection={collection}>
|
<CollectionProvider collection={collection}>
|
||||||
<FormLayout layout={'vertical'}>
|
<FormContext.Provider value={form}>
|
||||||
<SchemaComponent schema={schema} />
|
<FormLayout layout={'vertical'}>
|
||||||
</FormLayout>
|
<SchemaComponent schema={schema} />
|
||||||
|
</FormLayout>
|
||||||
|
</FormContext.Provider>
|
||||||
</CollectionProvider>
|
</CollectionProvider>
|
||||||
</CollectionManagerProvider>
|
</CollectionManagerProvider>
|
||||||
</SchemaInitializerProvider>
|
</SchemaInitializerProvider>
|
||||||
|
Loading…
Reference in New Issue
Block a user