首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在``react tooltip`中多行显示文本

在``react tooltip`中多行显示文本
EN

Stack Overflow用户
提问于 2019-09-05 18:17:17
回答 2查看 11.5K关注 0票数 5

我使用库:https://www.npmjs.com/package/react-tooltip。我有一个太长的文本,它在一行上,怎么能把它放在多行上呢?

代码语言:javascript
复制
<p data-tip="hello world">Tooltip</p>
<ReactTooltip className="tooltip"/>

.tooltip {
  width: 100px;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-05 18:38:10

您可以使用html={true}或multiline={true}这两个属性来处理多行方案

html

代码语言:javascript
复制
var tooltiptest = 'this is <br /> a test';

<div data-tip={tooltiptest} data-for='path'>Path</div>

<ReactTooltip id='path' type='light' html={true} />

您的示例:

代码语言:javascript
复制
<p data-for='path' data-tip="hello <br /> world">Tooltip</p>
<ReactTooltip id='path' className="tooltip" html={true} />

.tooltip {
  width: 100px;
}

多行

代码语言:javascript
复制
<span data-tip='tooltip<br />multiline'></span>

<ReactTooltip multiline={true} />

你的例子

代码语言:javascript
复制
<p data-tip="hello <br /> world">Tooltip</p>
<ReactTooltip className="tooltip" multiline={true} />

.tooltip {
  width: 100px;
}

来源- reference1 reference2

如果您需要处理动态驱动内容的自动换行,请遵循以下样式。

代码语言:javascript
复制
import React from "react";
import { withStyles } from "@material-ui/core/styles";
import ReactTooltip from "react-tooltip";

const styles = theme => ({
  overrideMe: {
    width: "100px",
    "word-break": "break-all",
    "overflow-wrap": "break-word",
    display: "block"
  }
});

class Opener extends React.PureComponent {
  constructor(props) {
    super(props);
    this.state = {
      open: false
    };
  }

  render() {
    const { classes } = this.props;
    return (
      <div>
        <div>test content</div>
        <div>test content</div>
        <div>
          <p
            data-for="tt"
            data-tip="hello ccsdcssd csdccdsc ccdc sdcscds world"
          >
            Tooltip - hover me
          </p>
          <ReactTooltip
            className={classes["overrideMe"]}
            data-html={true}
            insecure={true}
            multiline={true}
            id="tt"
          />
        </div>
      </div>
    );
  }
}

export default withStyles(styles)(Opener);

使用代码- code sandbox

票数 14
EN

Stack Overflow用户

发布于 2020-12-05 01:42:40

如果设置组件或html元素的样式,请将white-space: pre-wrap;添加到css。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57803271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档