Modal 集成 🧩
Modal 和 Drawer 与第三方库的集成。
Nice Modal
Nice Modal 与 React Suite 的 Modal/Drawer 集成提供了轻量级、灵活定制的模态窗口解决方案。
使用
安装 Nice Modal
首先,安装 @ebay/nice-modal-react 依赖:
npm install @ebay/nice-modal-react创建 Modal 组件
使用 NiceModal.create 创建可重用的 Modal 组件:
import { Modal } from 'rsuite';
import NiceModal, { useModal } from '@ebay/nice-modal-react';
export const MyModal = NiceModal.create(({ id, name }) => {
const modal = useModal();
return (
<Modal open={modal.visible} onClose={modal.hide} onExited={modal.remove} backdrop="static">
<Modal.Header>
<Modal.Title>Hello React Suite</Modal.Title>
</Modal.Header>
<Modal.Body>
Greetings: {id},{name}!
</Modal.Body>
</Modal>
);
});使用 Modal
在应用中使用 NiceModal.Provider 包装您的应用,然后就可以在任何地方显示 Modal 了:
import NiceModal, { useModal } from '@ebay/nice-modal-react';
import MyModal from './MyModal';
const App = () => {
return (
<NiceModal.Provider>
<Button
appearance="primary"
onClick={() => {
NiceModal.show(MyModal, { id: 'test', name: 'Nate' });
}}
>
Show Modal
</Button>
</NiceModal.Provider>
);
};