HTML未在react-tooltip的工具提示中呈现

时间:2018-08-23 11:25:55

标签: html reactjs react-bootstrap

我使用了工具提示表单react-tooltip,并且我想在工具提示中放入一些HTML标签。如何处理?我在react-tooltip site中找不到任何信息。 现在,我创建工具提示:

const TooltipConst = props => {
if (props.tooltip && props.id) {
    const tooltip = <Tooltip id={props.id + 'Tooltip'}>
        <div> render(){props.tooltip} </div>
    </Tooltip>;
    return (
        <OverlayTrigger
            overlay={tooltip}
            placement="top"
            delayShow={500}
            delayHide={1000}
        >
            {props.children}
        </OverlayTrigger>
    );
}
return <div>{props.children}</div>;

};

当作为工具提示传递带有HTML的某些字符串时,它们不会呈现。有什么建议吗? 我也尝试将<span><p>some text</p> Some text </span>作为对象,但是它返回的不是文本,而是像Object[]这样的工具提示。

4 个答案:

答案 0 :(得分:1)

如果你想在 ReactTooltip 中添加 html,比如 html 按钮或其他 html 标签。并希望在点击时显示。

<div id={row.index} className="text-center">
     <a data-tip={'dummystring'} data-event={'click focus'}
      data-for={'tooltip'}>Show tooltip</a>
     <ReactTooltip id={'tooltip'} effect="solid"
           clickable={true} place="right"
           getContent={function() {
           return (
                <div>
                   <span>Some text</span>
                   <Button 
                   onClick={()=>alert('clicked')}>
                   Click Me </Button>
                </div>
          )
    }}/>
</div>

答案 1 :(得分:0)

const tooltip = (<Tooltip id={props.id + 'Tooltip'}>
    <div> render(){props.tooltip} </div>
</Tooltip>);

这是他们的官方文档

如果您还想通过道具渲染html,则应该使用危险地设置HTML =>参见React的文档

答案 2 :(得分:0)

您可以使用react-tooltip库。 以html={true} for more information refer this link

的形式将道具<ReactTooltip />传递到<ReactTooltip html={true} />

答案 3 :(得分:0)

这是一个老问题,但我查看了文档,他们现在有一个 data-html 道具来检测您是否想要渲染 html 标记,如下所示:

<ToolTipData data-tip={text} data-html={text.indexOf('</') > -1}>
    {children}
  </ToolTipData>