【发布时间】:2021-08-25 14:31:54
【问题描述】:
尝试制作一个共享的可重用组件,并且我正在尝试获取一个工具提示来处理我的按钮,因此我想在 html 元素内提供一个 onmouseover 方法,该方法将设置一个布尔值以查看该人是否悬停和因此显示工具提示。
html/razor 组件:
<style>
.icon-button-tooltip {
padding: 8px;
background-color: gray;
font-size: 14px;
font-weight: 100;
color: white;
cursor: default;
position: absolute;
right: -120px;
}
</style>
<div @onclick="Click" id="iconButton"
style="height: @(Size)px; width:@(Size)px; cursor: pointer; position: relative;">
@if (Loading == ButtonLoading.Normal)
{
<i onmouseover="this.style.color =@hoverColor, @ChangeToolTipState(true)"
onmouseout="this.style.color=@onMouseOutColor"
class="fa @Icon" style="color:@Color; font-size:@(Size)px;"></i>
}
else
{
<i class="fa @Spinner fa-spin" style="color:@Color; font-size:@(Size)px;"></i>
}
@if (ToolTip != string.Empty && showToolTip)
{
<div class="icon-button-tooltip">
@ToolTip
</div>
}
</div>
方法:
private Object ChangeToolTipState(bool state)
{
if (state) showToolTip = true;
else showToolTip = false;
return new Object();
}
提前谢谢你
【问题讨论】:
-
为什么不使用 Html 工具提示?或者您可以在网络上找到许多基于 Css 的解决方案?
-
我正在 blazor 中构建一个可重复使用的按钮组件。您不能只使用 :hover 或其他 CSS 选项或 html 选项,因为在 Blazor 中声明 Button 组件时必须能够动态更改 tooptip。