修改umi项目base文件中document.body.style.setproperty全局的样式

在修改umi项目中子应用样式的时候不想在base修改全局的,一开始在子应用组件中使用setproperty修改,发现此方法会把全局的都覆盖掉。

微应用base主应用和main子应用,子应用中使用document.body.style.setproperty设置了全局样式,在子应用中如果想修改base中的全局样式,可以使用同样的方式修改,

document.body.style.setproperty('modal-body-bc','#f7f8fa')

useEffect(()=>{
document.body.style.setproperty('modal-body-bc','#fff')
},[])

此方法修改后会把全局的样式都修改掉,如果只想局部修改,可以在对应的逻辑中修改

例如:点击新增按钮弹出modal弹框,当modal弹框打开的时候显示fff背景色,其他页面按照之前的样式:

import React,{useState,useEffect} from "react";
export default class Home extends React.Component{
const [visibel,setVisibel]=useState(false)

  const showModal=()=>{
    setVisibel(true)
  }
  useEffect(()=>{
    if(visibel){
      // modal弹框局部样式
      document.body.style.setProperty('modal-body-bc','#fff')
    }else{
      // base原样式
      document.body.style.setProperty("fff")
    }
  },[visibel])
  render(){
    return(
      <button onClick={showModal} >点击,打开modal弹框</button>
      {visibel&&<childModal visibel={visibel} />}
    )
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值