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 小时前
Vue 网格拖拽布局组件全景指南:7 大方案深度对比
前端·javascript·vue.js
穆梓兰煊5 小时前
AI供应链安全不再只是包安全,还涉及模型与数据
前端·数据库
deli0075 小时前
Skill 怎么写才被 Agent 命中?18 条规则做成 SKILL.md 校验器,规范样例 92 分
前端
Hum8le5 小时前
CTF题目《easy_web》(安洵杯 2019 变种 Web)
前端·安全·web安全
coding漫漫长路5 小时前
二值化后还剩1212个黑点,OCR却认成了乱码
前端
不可能片场5 小时前
AI视频口型对齐 用音频驱动说话镜头
前端·electron
Lank_M5 小时前
OCR一个字没认错,倾斜2.5°却把行序排乱了
前端
daols885 小时前
vue 表格组件 vxe-table 实现自定义多行编辑功能
前端·javascript·vue.js·vxe-table
不要试图纠正别人6 小时前
别让大模型算钱:我把优惠券组合优化写成了确定性算法
前端
IT_Octopus6 小时前
【零基础入门 LLM 开发 · Day 11】:ChatOpenAI vs init_chat_model——一行换供应商
java·前端·javascript