样式冲突修复组件

在我写一个页面的时候分页器样式被扰乱了,通过查看元素发现样式被覆盖了,是因为有协作者在开发其他页面的时候将一些样式加在了 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>
  );
};
相关推荐
0思必得016 分钟前
[Web自动化] 开发者工具性能(Performance)面板
运维·前端·自动化·web自动化·开发者工具
心灵的制造商21 分钟前
el-tree左侧新增类别和删除类别实例代码
前端·javascript·vue.js
爱吃无爪鱼23 分钟前
01-前端开发快速入门路线图
javascript·css·vue.js·typescript·前端框架·npm·node.js
冴羽23 分钟前
不知道怎么写 Nano Banana Pro 提示词?分享你一个结构化示例,复刻任意图片
前端·人工智能·aigc
IT_陈寒24 分钟前
JavaScript 性能优化:7个 V8 引擎隐藏技巧让你的代码提速200%
前端·人工智能·后端
脾气有点小暴31 分钟前
uniapp通用单张图片上传组件
前端·javascript·vue.js·uni-app·uniapp
小菜今天没吃饱36 分钟前
DVWA-XSS(stored)
前端·网络安全·xss·dvwa
云飞云共享云桌面36 分钟前
研发部门使用SolidWorks,三维设计云桌面应该怎么选?
运维·服务器·前端·网络·自动化·电脑
老华带你飞1 小时前
茶叶商城|基于SprinBoot+vue的茶叶商城系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot
烛阴1 小时前
不只是Public与Private:C#访问修饰符全方位解读
前端·c#