antd的popover组件如何隐藏?

<Popover
      visible={this.props.event?.deviceCode === item.deviceCode}
      title={
             <>
                 <AlertOutlined />
                 <span>报警</span>
             </>
      }
      content={
               <span style={{ color: 'tomato' }}>{this.props.event?.msg || ''}
               </span>
              }
      >
              <span className="machine-name-text">{item.deviceName}</span>
</Popover>

这是我的popover
用的是蚂蚁的antd

我每次用visible可以控制打开关闭

但是我想要设置滞留时间 比如1秒以内没有关闭就自动关闭

好像没有duration之类的props

手动设置一个定时器我又不知道从哪儿下手

谢谢大佬~~~~

阅读 6.2k
2 个回答
 setPopoverTimer = (code, msg) => {
        this.setState({
            event: {
                deviceCode: code,
                msg: msg
            }
        })
        setTimeout(() => {
            this.setState({
                event: {
                    deviceCode: "",
                    msg: ""
                }
            })
        }, 1500)
    }

    componentWillReceiveProps(props) {
        if (props.event.deviceCode && props.event.msg) {
            this.setPopoverTimer(props.event.deviceCode, props.event.msg)
        }
    }

如果有更好的解决方案 欢迎回复~

那就在onVisibleChange下定时器吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题