React Tippy - 使用方法setIsOpen()

时间:2018-02-27 11:40:20

标签: javascript reactjs tippyjs

我正在使用React Tippy - 一个基于Tippy.js的React组件。我想使用documented setIsOpen method - 但它无效。

TypeError: setIsOpen is not a function.

似乎无法找到与此相关的任何文档或问题。有什么想法吗?

我的代码是:

<Tooltip
  position="right"
  animation="scale"
  arrow="true"
  arrowSize="big"
  theme="light"
  trigger="click focus"
  interactive
  open={open}
  html={(
    <div className="tooltip-body">
      <span className="info icon-sm-info"></span>
      <span className="close" onClick={() => { setIsOpen(false) }}>&#215;</span>
      <h5>Hello</h5>
      <div>Tooltip Content</div>
    </div>
  )}
>
<span className="icon-sm-info">Hello</span>
</Tooltip>

2 个答案:

答案 0 :(得分:0)

你的州:

this.state = {open : false}

setIsOpen = () => {
this.setState(state => { open : true});
}

更新代码

<Tooltip
  position="right"
  animation="scale"
  arrow="true"
  arrowSize="big"
  theme="light"
  trigger="click focus"
  interactive
  open={open}
  html={(
    <div className="tooltip-body">
      <span className="info icon-sm-info"></span>
      <span className="close" onClick={() => { this.setIsOpen() }}>&#215;</span>
      <h5>Hello</h5>
      <div>Tooltip Content</div>
    </div>
  )}
>
<span className="icon-sm-info">Hello</span>
</Tooltip>

答案 1 :(得分:0)

我通过使用状态找到了如何做到这一点。

class ToolTip extends React.Component {
   constructor(props) {
      super(props);

      this.state = {
         open: false
      }
   }

   setIsOpen = (option) => {
      this.setState({
         open: option
      });
   }

<span className="close" onClick={() => {this.setIsOpen(false)}}>&#215;</span>