React Bootstrap 隐藏工具提示

Ave*_*235 5 tooltip twitter-bootstrap twitter-bootstrap-tooltip reactjs

有没有办法默认隐藏OverlayTrigger/Tooltip元素?例如。overlay={this.state.show ? <Tooltip>showing</Tooltip> : null}有效,但在控制台上抛出警告:

该 propoverlay在 中被标记为必需OverlayTrigger,但其值为null

这是唯一的方法吗?

{!this.state.show ? {component} :
 <OverlayTrigger ...>
   {component}
 </OverlayTrigger>
}
Run Code Online (Sandbox Code Playgroud)

小智 6

这对我有用,仅在布尔值为 true 时显示。

<OverlayTrigger
  overlay={
    boolean ? (
      <Tooltip id={`tooltip`}>important message for user</Tooltip>
    ) : (
      <span></span>
    )
  }
>
{children}
</OverlayTrigger>
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 4

OverlayTrigger组件必须overlay传递一个 prop。如果您不需要工具提示,那么您也不希望触发叠加层。因此,如果是假的,您需要将其删除this.state.show

{this.state.show 
  ? <OverlayTrigger overlay={<Tooltip>showing</Tooltip>}>
      <button>Click me!</button>
    </OverlayTrigger>
  : <button>Click me!</button>
}
Run Code Online (Sandbox Code Playgroud)

编辑:是的,更新中的代码就是执行此操作的方法。

  • 当您想要显示一些内容而不是简单的按钮,但没有任何工具提示时,这没有帮助;您必须复制的不仅仅是带有一些文本的按钮。应该可以使用react-bootstrap 来创建一个空的覆盖层,仅显示内容而无需工具提示。作为解决方法,当我没有任何内容可显示时,我必须添加一个类来隐藏叠加层中的工具提示,这简直是愚蠢的。 (2认同)