样式冲突修复组件

在我写一个页面的时候分页器样式被扰乱了,通过查看元素发现样式被覆盖了,是因为有协作者在开发其他页面的时候将一些样式加在了 body 样式里面了,这个标签选择器将我的组件内部的样式覆盖了

那么解决方法就是将和扰乱样式相关的样式从 app.scss 中提取出来,单独写一个组件去实现,然后针对特定的页面进行外套,从而不影响其他页面,这个过程可以先写一个单独组件,然后去路由守卫中进行分支套层

复制代码
import React from 'react';

interface MtdFixProps {
  children?: React.ReactNode;
  className?: string;
}

const MtdFix: React.FC<MtdFixProps> = ({ children, className }) => {
  return (
    <>
      <style>
        {`
          .mtd-prime-select,
          .mtd-prime-date-picker {
            width: 100% !important;
          }

          .form-card-box:nth-child(2) {
            margin-top: 4px !important;
          }
        `}
      </style>
      <div className={className} style={{ height: '100%', width: '100%' }}>
        {children}
      </div>
    </>
  );
};

export default MtdFix;

注意要 100% 确保子组件的空间占据

那么具体使用的时候就去外面套一层例如

复制代码
const Index = () => {
  return (
    <MtdFix>
      <HomeProvider>
        <CUIProvider chatType="main">
          <Main />
          {/* 用户引导 */}
          <HomePageUserGuide />
        </CUIProvider>
      </HomeProvider>
    </MtdFix>
  );
};
相关推荐
张元清18 分钟前
React useEventSource Hook:自带断线重连的 Server-Sent Events (2026)
javascript·react.js
光影少年20 分钟前
RN 网络请求:Fetch / Axios 封装、超时、拦截器
前端·react native·react.js
学习星球32 分钟前
Vue 3 实战:拆解 RealWorld 项目
前端·vue.js
铁皮饭盒1 小时前
网页端, 6.5MB人脸识别模型, 谷歌框架, 又快又准
前端·javascript·后端
xiaohaiAIgeo1 小时前
【2026年】ASHRAE 110与EN 14175通风柜测试标准对比:进口与国产品牌性能差距
java·前端·数据库·科普知识
自进化Agent智能体1 小时前
Hermes 工具与工具集——Hermes 的内置能力
javascript
用户2930750976691 小时前
TypeScript 必考题:Type 与 Interface 全面对比
前端
hunterandroid1 小时前
[鸿蒙从零到一] HarmonyOS 媒体能力实战:图片、音频与视频处理
前端
打呵欠的猫1 小时前
我让 AI 封装了一个 ImageUpload 组件,它设计的 5 层校验链路比我想的周全
前端·ai编程
AlexMaybeBot1 小时前
躺在沙发上开发 Openclaw 的移动端APP
前端·flutter