样式冲突修复组件

在我写一个页面的时候分页器样式被扰乱了,通过查看元素发现样式被覆盖了,是因为有协作者在开发其他页面的时候将一些样式加在了 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>
  );
};
相关推荐
飞翔的佩奇7 分钟前
【完整源码+数据集+部署教程】【天线&水】舰船战舰检测与分类图像分割系统源码&数据集全套:改进yolo11-repvit
前端·python·yolo·计算机视觉·数据集·yolo11·舰船战舰检测与分类图像分割系统
哆啦A梦15881 小时前
点击Top切换数据
前端·javascript·vue.js
程序猿追1 小时前
Vue组件化开发
前端·html
艾德金的溪2 小时前
redis-7.4.6部署安装
前端·数据库·redis·缓存
小光学长2 小时前
基于Vue的2025年哈尔滨亚冬会志愿者管理系统5zqg6m36(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
@PHARAOH2 小时前
WHAT - 受控组件和非受控组件
前端·javascript·react.js
生莫甲鲁浪戴2 小时前
Android Studio新手开发第二十六天
android·前端·android studio
JH30733 小时前
B/S架构、HTTP协议与Web服务器详解
前端·http·架构
yi碗汤园3 小时前
【超详细】C#自定义工具类-StringHelper
开发语言·前端·unity·c#·游戏引擎
sky0Lan3 小时前
一个类似 pytest 的 html 报告
android·html·pytest