解决qiankun项目与子应用样式混乱问题

背景

qiankun项目用的是Vue2+Antdesign2,但其中一个子应用用的是Vue3+Antdesign4。集成之后发现子应用的样式混乱,渲染的是Antdesign2的样式。

解决

以下步骤在子应用里操作

1. 在main.js引入ConfigProvider ,在app全局注册ConfigProvider

import { ConfigProvider } from 'ant-design-vue';

// Ant Design Vue 的 Message 组件(以及 Notification、Modal、Drawer 等)的行为与其他组件略有不同,因为它们是通过 JavaScript 动态生成并附加到 DOM 中的,而不是通过组件树直接渲染。这意味着,这些组件不会自动继承 ConfigProvider 的配置,包括自定义的样式前缀。
// 确保 message 等组件也能应用自定义的样式前缀
ConfigProvider.config({
  prefixCls: 'projectKeyXXX',
  getPopupContainer: () => document.body,
});


let app = createApp(App)
app.component(ConfigProvider.name, ConfigProvider);

 2. App.vue里用ConfigProvider包住,定义前缀(前缀需与在main.js定义的前缀保持一致)

<template>
  <a-config-provider prefixCls="projectKeyXXX">
    <router-view />
  </a-config-provider>
</template>

3. 在自己项目重新Antdesign样式的名字全部都要把"ant-"改成"projectKeyXXX",例如:

.projectKeyXXX-table-striped {
  background-color: #fafafa;
}

因为Antdesign的样式名字已经全部改成projectKeyXXX了,所以要注意在子应用里所有关于Antdesign的样式前缀都需要改。

相关文档参考

全局化配置 ConfigProvider - Ant Design Vue (antdv.com)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值