# CollectionManager ## Components ### CollectionManagerProvider ```jsx | pure ``` ### CollectionProvider ```jsx | pure const collection = { name: 'tests', fields: [ { type: 'string', name: 'title', interface: 'input', uiSchema: { type: 'string', 'x-component': 'Input' }, }, ], }; ``` 如果没有传 collection 参数,从 CollectionManagerProvider 里取对应 name 的 collection。 ```jsx | pure const collections = [ { name: 'tests', fields: [ { type: 'string', name: 'title', interface: 'input', uiSchema: { type: 'string', 'x-component': 'Input' }, }, ], } ]; ``` ### CollectionFieldProvider ```jsx | pure const field = { type: 'string', name: 'title', interface: 'input', uiSchema: { type: 'string', 'x-component': 'Input' }, }; ``` 如果没有传 field 参数,从 CollectionProvider 里取对应 name 的 field。 ```jsx | pure const collection = { name: 'tests', fields: [ { type: 'string', name: 'title', interface: 'input', uiSchema: { type: 'string', 'x-component': 'Input' }, }, ], }; ``` ### CollectionField 万能字段组件,需要与 `` 搭配使用,仅限于在 Schema 场景使用。从 CollectionProvider 里取对应 name 的 field schema。可通过 CollectionField 所在的 schema 扩展配置。 ```ts { name: 'title', 'x-decorator': 'FormItem', 'x-decorator-props': {}, 'x-component': 'CollectionField', 'x-component-props': {}, properties: {}, } ``` ## Hooks ### useCollectionManager() 与 `` 搭配使用 ```jsx | pure const { collections, get } = useCollectionManager(); ``` ### useCollection() 与 `` 搭配使用 ```jsx | pure const { name, fields, getField, findField, resource } = useCollection(); ``` ### useCollectionField() 与 `` 搭配使用 ```jsx | pure const { name, uiSchema, resource } = useCollectionField(); ``` resource 需要与 `` 搭配使用,用于提供当前数据表行记录的上下文。如: # CollectionManager ## Components ### CollectionManagerProvider ```jsx | pure ``` ### CollectionProvider ```jsx | pure const collection = { name: 'tests', fields: [ { type: 'string', name: 'title', interface: 'input', uiSchema: { type: 'string', 'x-component': 'Input' }, }, ], }; ``` 如果没有传 collection 参数,从 CollectionManagerProvider 里取对应 name 的 collection。 ```jsx | pure const collections = [ { name: 'tests', fields: [ { type: 'string', name: 'title', interface: 'input', uiSchema: { type: 'string', 'x-component': 'Input' }, }, ], } ]; ``` ### CollectionFieldProvider ```jsx | pure const field = { type: 'string', name: 'title', interface: 'input', uiSchema: { type: 'string', 'x-component': 'Input' }, }; ``` 如果没有传 field 参数,从 CollectionProvider 里取对应 name 的 field。 ```jsx | pure const collection = { name: 'tests', fields: [ { type: 'string', name: 'title', interface: 'input', uiSchema: { type: 'string', 'x-component': 'Input' }, }, ], }; ``` ### CollectionField 万能字段组件,需要与 `` 搭配使用,仅限于在 Schema 场景使用。从 CollectionProvider 里取对应 name 的 field schema。可通过 CollectionField 所在的 schema 扩展配置。 ```ts { name: 'title', 'x-decorator': 'FormItem', 'x-decorator-props': {}, 'x-component': 'CollectionField', 'x-component-props': {}, properties: {}, } ``` ## Hooks ### useCollectionManager() 与 `` 搭配使用 ```jsx | pure const { collections, get } = useCollectionManager(); ``` ### useCollection() 与 `` 搭配使用 ```jsx | pure const { name, fields, getField, findField, resource } = useCollection(); ``` ### useCollectionField() 与 `` 搭配使用 ```jsx | pure const { name, uiSchema, resource } = useCollectionField(); ``` resource 需要与 `` 搭配使用,用于提供当前数据表行记录的上下文。