有条件地激活Material UI工具提示吗?

And*_*ers 3 javascript tooltip reactjs material-ui

我有以下使用Material UI的React组件:

const MyButton = ({ warningText }) => (
    <Tooltip title={warningText}>
        <Button>Do action</Button>
    </Tooltip>
)
Run Code Online (Sandbox Code Playgroud)

当前,warningText未定义时会显示一个空的工具提示。相反,我不想显示任何工具提示。在这些情况下,是否有办法有条件地压低工具提示?

当然,我可以只使用if语句不呈现工具提示组件,但这在我看来将导致相当丑陋的代码。

Mur*_*göz 11

应该

 <Tooltip title={warningText == null ? "" : warningText}>
        <Button>Do action</Button>
 </Tooltip>
Run Code Online (Sandbox Code Playgroud)

文档说如果字符串长度为零,则不会显示。

https://material-ui.com/api/tooltip/

工具提示标题。零长度标题字符串永远不会显示。

  • 零长度标题仍然显示工具提示..它很小,看起来像一个编程错误。 (3认同)
  • 值得注意的是,如果您将“null”传递给工具提示上的“title”属性,React 现在会抛出警告。您可以传递一个空字符串 ''` 来实现相同的结果。`警告:失败的道具类型:道具'标题'在'ForwardRef(Tooltip)'中被标记为必需,但其值为'null'。` (2认同)