Nice-modal-react的使用

创建modal

ts 复制代码
import { Modal } from 'antd';
import NiceModal, { useModal } from '@ebay/nice-modal-react';
import WarningSvg from '@/assets/warning.svg?react';

export const BrowserNotSatisfiedModal = NiceModal.create(() => {
  const modal = useModal();
  const modalProps: any = NiceModal.antdModal(modal);
  modalProps.open = modalProps.visible;
  delete modalProps.visible;

  const handleOK = () => {
    modal.hide();
  };

  return (
    <Modal
      {...modalProps}
      title={
        <div>
          <WarningSvg
            style={{
              fontSize: '22px',
              marginRight: '12px',
              verticalAlign: 'top',
            }}
          />
          提示
        </div>
      }
      centered
      onOk={handleOK}
      okText="确定"
      cancelText="取消"
    >
      <p style={{ margin: '20px 0 40px' }}>
        浏览器版本过低,可能存在部分内容不兼容,建议升级浏览器后使用
      </p>
    </Modal>
  );
});

使用弹框

ts 复制代码
NiceModal.show(AppealDialog, props);

注意:这里NiceModal返回的是一个Promise 可以这样使用

ts 复制代码
 NiceModal.show(ConsumerFormModal, {
    fields: (headerFields?.fields as unknown as ConsumerFormField[]) ?? [],
    editRecod: record,
    isEdit: true,
    })
    .then(()=>{})
    .catch(()=>{})
    .finally(() => {
    setIsEditConsumerTableFlag?.(false);
    });
相关推荐
人工智能培训5 分钟前
大语言模型:从语言理解到通用智能的跃迁
linux·服务器·前端·人工智能
一拳不是超人15 分钟前
做独立开发三个月,我的第一个产品终于有了 1000 个用户
前端·程序员
Amos_Web25 分钟前
Rspack 源码解析(十):Hash 与 Asset 生成
前端·rust·源码阅读
福兮说27 分钟前
用 IndexedDB 存用户的文件,我踩过的五个坑
前端·javascript
闪耀之光M7828 分钟前
前端依赖自动导入:unplugin-auto-import
前端
Ricon组态薄荷糖42 分钟前
Ricon组态系统:工业组件开发指南与实践
前端·后端·物联网
flash俊杰1 小时前
Electron 桌面应用的进程模型:为什么 fork Next.js standalone
前端
沙蒿同学1 小时前
我把架构约定编译成了会变红的测试:Wails v2 + Go + Vue3 桌面脚手架实战
前端·后端·github
cpolar技术支持1 小时前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright
wordbaby1 小时前
企业级后台管理系统路由设计与最佳实践指南
前端