tachybase_todo/docs/zh-CN/development/client/ui-schema-designer/x-designer.md
chenos b8d0ad8fbc
feat: update docs (#996)
* feat: update docs

* feat: update docs

* fix: update docs

* Add files via upload

* Add files via upload

* Update the-first-app.md

* Update the-first-app.md

* Update v08-changelog.md

* feat: update docs

Co-authored-by: Zhou <zhou.working@gmail.com>
2022-10-31 22:41:24 +08:00

1.2 KiB

x-designer 组件

内置 x-designer 组件

  • Action.Designer
  • Calendar.Designer
  • Filter.Action.Designer
  • Form.Designer
  • FormItem.Designer
  • FormV2.Designer
  • FormV2.ReadPrettyDesigner
  • DetailsDesigner
  • G2Plot.Designer
  • Kanban.Designer
  • Kanban.Card.Designer
  • Markdown.Void.Designer
  • Menu.Designer
  • TableV2.Column.Designer
  • TableV2.ActionColumnDesigner
  • TableBlockDesigner
  • TableSelectorDesigner
  • Tabs.Designer

替换

import React, { useContext } from 'react';
import { useFieldSchema } from '@formily/react';
import {
  SchemaComponentOptions,
  GeneralSchemaDesigner,
  SchemaSettings,
  useCollection
} from '@nocobase/client';
import React from 'react';

const CustomActionDesigner = () => {
  const { name, title } = useCollection();
  const fieldSchema = useFieldSchema();
  return (
    <GeneralSchemaDesigner title={title || name}>
      <SchemaSettings.Remove
        removeParentsIfNoChildren
        breakRemoveOn={{
          'x-component': 'Grid',
        }}
      />
    </GeneralSchemaDesigner>
  );
};

export default React.memo((props) => {
  return (
    <SchemaComponentOptions
      components={{
        'Action.Designer': CustomActionDesigner,
      }}
    >{props.children}</SchemaComponentOptions>
  );
});