:where 降级
import { ConfigProvider, App as AntdApp, Spin } from 'antd';
import {
StyleProvider,
legacyLogicalPropertiesTransformer,
} from '@ant-design/cssinjs';
const App = () => {
return (
<StyleProvider
hashPriority="high"
transformers={[legacyLogicalPropertiesTransformer]}
>
// ...
</StyleProvider>
)
};
export default App;
自定义 class 不生效,关闭 hash
import { ConfigProvider, App as AntdApp, Spin } from 'antd';
import {
StyleProvider,
legacyLogicalPropertiesTransformer,
} from '@ant-design/cssinjs';
const App = () => {
return (
<StyleProvider
hashPriority="high"
transformers={[legacyLogicalPropertiesTransformer]}
>
<ConfigProvider
theme={{
hashed: false,
}}
locale={zhCN}
>
// ...
</ConfigProvider>
</StyleProvider>
)
};
export default App;
修改 modal、message、notification 引入方式
新建 message.ts 文件
import { App } from 'antd';
import type { MessageInstance } from 'antd/es/message/interface';
import type { ModalStaticFunctions } from 'antd/es/modal/confirm';
import type { NotificationInstance } from 'antd/es/notification/interface';
let message: MessageInstance;
let notification: NotificationInstance;
let modal: Omit<ModalStaticFunctions, 'warn'>;
const CustomMsg = () => {
({ message, modal, notification } = App.useApp());
return null;
};
export default CustomMsg;
export { message, notification, modal };
在入口文件引入空的 CustomMsg,需要 AntdApp 包裹
import { ConfigProvider, App as AntdApp } from 'antd';
import {
StyleProvider,
legacyLogicalPropertiesTransformer,
} from '@ant-design/cssinjs';
import CustomeMsg from '@/utils/message';
const App = () => {
return (
<StyleProvider
hashPriority="high"
transformers={[legacyLogicalPropertiesTransformer]}
>
<AntdApp>
<ConfigProvider
theme={{
hashed: false,
}}
>
<CustomeMsg />
// ...
</ConfigProvider>
</AntdApp>
</StyleProvider>
);
};
export default App;
使用 message
import { message, notification, modal } from '@/utils/message';
notification.error({
message: `请求错误 ${status}: ${data}`,
description: errorText,
});
message.error('登录已失效即将跳转登录');
modal.confirm({
title: '删除确认',
content: '确认删除已编辑的草稿内容,删除后不可恢复',
okText: '确定',
cancelText: '取消',
onOk: () => {
// 执行删除
},
});
引入 AntdApp 后,全局样式可能会收到影响,需要覆写一下样式
.ant-app {
width: 100%;
height: 100%;
overflow: hidden;
line-height: unset !important;
font-family: "Microsoft YaHei", sans-serif !important;
}
组件内部 message 的另一种使用方式
import { message as AntdMessage } from 'antd';
const Component = () => {
const [message, contextHolder] = AntdMessage.useMessage();
useEffect(() => {
message.error('文件格式不正确,请选择 png/jpg/jpeg 图片!');
}, []);
return (
<div>
{contextHolder}
</div>
);
};
export default Component;
某些按钮显示边框,单独修改样式
outline: none;
发布评论