import { css } from '@emotion/css'; import { observer, RecursionField, useField, useFieldSchema } from '@formily/react'; import { Modal } from 'antd'; import React from 'react'; import { createPortal } from 'react-dom'; import { useActionContext } from '.'; import { ComposedActionDrawer } from './types'; export const ActionModal: ComposedActionDrawer = observer((props) => { const { footerNodeName = 'Action.Modal.Footer', ...others } = props; const { visible, setVisible } = useActionContext(); const schema = useFieldSchema(); const field = useField(); const footerSchema = schema.reduceProperties((buf, s) => { if (s['x-component'] === footerNodeName) { return s; } return buf; }); return ( <> {createPortal( setVisible(false)} footer={ footerSchema && (
{ return s['x-component'] === footerNodeName; }} />
) } > { return s['x-component'] !== footerNodeName; }} />
, document.body, )} ); }); ActionModal.Footer = observer(() => { const field = useField(); const schema = useFieldSchema(); return ; }); export default ActionModal;