用Popover组件举例:
要求:不同的地方popover组件的边框颜色不一样
代码:
<Popover
overlayClassName='namespace'
content={
<p style={{textAlign:'center',color:"#00C895"}}>展示内容</p>
}
placement="right"
>
<span>hover展示框框</span>
</Popover>
注意:起作用的就是overlayClassName='namespace',overlayClassName是为节点不在root内部的dom内而设置的一个类名,像tooltip,popover这种组件dom节点都是在root节点外生成的,如下图:所以当你在root节点里面的类名去添加样式时是不起作用的
设置了overlayClassName='namespace'就相当于是给pop over外层盒子加上了一个类名namespace,如图:
对应的css样式修改,:
:global{
.namespace .ant-popover-content > .ant-popover-arrow, .ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow, .ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow{
...
}
.namespace .ant-popover-inner-content {
...
}
.namespace .ant-popover-arrow {
...
}
}
这样就可以修改你想要修改的antd组件样式,而不会影响到其他antd地方的组件