编辑按钮工具提示颜色 Prime React
Edit button tooltip color Prime React
我正在尝试更改工具提示的背景颜色,我正在使用 prime 反应按钮 (https://primefaces.org/primereact/showcase/#/tooltip)。
Tooltip image
我的代码:
<DebtorClientColumn>
<Tooltip tooltip="Mensagem do tooltip" tooltipOptions={{ position: "bottom" }}>
<DebtorIcon
data-testid={`debtor-icon-${client._id}`}
/>
</Tooltip>
我已尝试设置 DebtorClientColumn 和工具提示的样式,但两者都不起作用:
const Tooltip = styled(Button)`
.p-tooltip{
background-color: ${Colors.white} !important;
color: ${Colors.white} !important;
}
.p-tooltip-arrow {
background-color: ${Colors.white} !important;
color: ${Colors.white} !important;
}
.p-tooltip-text {
background-color: ${Colors.white} !important;
color: ${Colors.strawberry} !important;
}
`
const DebtorClientColumn = styled.div`
display: flex;
flex-direction: row;
.p-button, .p-button:enabled:active, .p-button:enabled:hover{
background-color: ${Colors.white};
border: none;
font-size: 0px
};
.p-button:enabled:focus {
box-shadow: none
};
.p-tooltip{
background-color: ${Colors.white} !important;
}
.p-tooltip-arrow {
background-color: ${Colors.white} !important;
}
.p-tooltip-text {
background-color: ${Colors.white} !important;
color: ${Colors.strawberry} !important;
}
`
使用 tooltipOptions
并提供自定义 class。
Working demo (hoverover on the button)
JSX
<Button
tooltipOptions={{
className: "hoverClass",
showDelay: 500,
hideDelay: 101300
}}
type="button"
label="Save"
icon="pi pi-check"
tooltip="Click to proceed"
/>
CSS
.hoverClass .p-tooltip-text {
background-color: red !important;
}
编辑:
工具提示是portals
,它们是一个单独的渲染树。带样式的组件的 classes 的范围限定为已设置样式的元素。您可以定位样式元素和其中的元素,但是当涉及到门户时,您不能应用 classes。参见 github issue here。
因此,在您的情况下,对于样式工具提示,请使用此答案中提到的常规 css。
您可以使用样式组件加入图标
在这里您可以看到应该呈现工具提示的列或主要组件
const Container = styled.div`
display: flex;
flex-direction: row;
justify-content: center;
&:hover ${Tooltip} {
display: inline;
text-align:center
}
`
这里是工具提示组件:
const Tooltip = styled.div`
display: none;
position: absolute;
margin-top: 28px;
border-radius: 4px;
box-shadow: 0 1px 15px 0 black;
background-color: ${Colors.white};
padding: 6px;
`;
您应该使用以下方式处理组件:
<Container>
<Tooltip />
</Container>
我正在尝试更改工具提示的背景颜色,我正在使用 prime 反应按钮 (https://primefaces.org/primereact/showcase/#/tooltip)。
Tooltip image
我的代码:
<DebtorClientColumn>
<Tooltip tooltip="Mensagem do tooltip" tooltipOptions={{ position: "bottom" }}>
<DebtorIcon
data-testid={`debtor-icon-${client._id}`}
/>
</Tooltip>
我已尝试设置 DebtorClientColumn 和工具提示的样式,但两者都不起作用:
const Tooltip = styled(Button)`
.p-tooltip{
background-color: ${Colors.white} !important;
color: ${Colors.white} !important;
}
.p-tooltip-arrow {
background-color: ${Colors.white} !important;
color: ${Colors.white} !important;
}
.p-tooltip-text {
background-color: ${Colors.white} !important;
color: ${Colors.strawberry} !important;
}
`
const DebtorClientColumn = styled.div`
display: flex;
flex-direction: row;
.p-button, .p-button:enabled:active, .p-button:enabled:hover{
background-color: ${Colors.white};
border: none;
font-size: 0px
};
.p-button:enabled:focus {
box-shadow: none
};
.p-tooltip{
background-color: ${Colors.white} !important;
}
.p-tooltip-arrow {
background-color: ${Colors.white} !important;
}
.p-tooltip-text {
background-color: ${Colors.white} !important;
color: ${Colors.strawberry} !important;
}
`
使用 tooltipOptions
并提供自定义 class。
Working demo (hoverover on the button)
JSX
<Button
tooltipOptions={{
className: "hoverClass",
showDelay: 500,
hideDelay: 101300
}}
type="button"
label="Save"
icon="pi pi-check"
tooltip="Click to proceed"
/>
CSS
.hoverClass .p-tooltip-text {
background-color: red !important;
}
编辑:
工具提示是portals
,它们是一个单独的渲染树。带样式的组件的 classes 的范围限定为已设置样式的元素。您可以定位样式元素和其中的元素,但是当涉及到门户时,您不能应用 classes。参见 github issue here。
因此,在您的情况下,对于样式工具提示,请使用此答案中提到的常规 css。
您可以使用样式组件加入图标
在这里您可以看到应该呈现工具提示的列或主要组件
const Container = styled.div`
display: flex;
flex-direction: row;
justify-content: center;
&:hover ${Tooltip} {
display: inline;
text-align:center
}
`
这里是工具提示组件:
const Tooltip = styled.div`
display: none;
position: absolute;
margin-top: 28px;
border-radius: 4px;
box-shadow: 0 1px 15px 0 black;
background-color: ${Colors.white};
padding: 6px;
`;
您应该使用以下方式处理组件:
<Container>
<Tooltip />
</Container>