定制后的Antd弹窗无法关闭
定制过 prefixCls 的 Antd 弹窗组件方法无法关闭
最近项目中由于 antd 的 PageHeader
组件在页面跳转时报类似在卸载的组件中执行 setstate 操作, 从头4.17.2
升到最
新4.22.5
。发现一个问题: 使用 JS 打开 Modal 之后就再也关不掉了, 如下:
const modal = Modal.confirm({
prefixCls: '不方便透露',
title: '确认交付',
content: '不方便透露',
okText: '交付',
okType: 'primary',
cancelText: '取消',
okButtonProps: {
prefixCls: '不方便透露',
},
cancelButtonProps: {
prefixCls: '不方便透露',
},
centered: true,
onOk: async () => {
await Promise.resolve();
modal.destroy();
},
onCancel: () => {
modal.destroy();
},
});
通过 debug 找到解决方案如下:
import { ConfigProvider } from 'antd';
ConfigProvider.config({
prefixCls: 'xxxx',
});
建议 antd 团队在文档中进行说明, 提高用户开发效率。
标签:
React
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通