繁体   English   中英

Reactjs使用从BE获取的数据在popover上渲染问题

[英]Reactjs Render issue on popover with data fetched from BE

这是问题的沙箱https://codesandbox.io/s/nice-cache-kl12v

我正在使用antd来设计网站。 Currenly我需要向用户显示通知,并且导航栏的右上角有通知图标。

我使用来自antd设计的Popover渲染它,当点击它时,它将从BE获取数据并显示它们。

问题是弹出框对话框在视口外部渲染并使水平滚动条出现。 我想用内容显示popover,而对话框没有延伸到视图端口,也没有水平滚动条。

我尝试使用overflow-x:hidden属性来隐藏滚动条,滚动条被隐藏但弹出窗口内容不可见。 请帮忙 !

popover定位为“绝对”,左边为calc(100% - 40%)!重要

你可以做一件事。 给“ant-popover”类赋予右边的CSS :0 然后它将删除水平滚动。

让我们在InfiniteScrollExample的父级中定义一个回调函数:

onInfiniteScrollUpdated = () => {
  this.setState({InfiniteScrollUpdate: this.state.InfiniteScrollUpdate + 1})
}

让我们将此方法作为支持传递给InfiniteScrollUpdate

<Popover
  placement="bottomLeft"
  title={text}
  content={<InfiniteScrollExample />}
  trigger="click"
  afterInfiniteScrollApiSuccess={this.onInfiniteScrollUpdated}
>
   <Button>Msgs</Button>
</Popover>

InfiniteScrollExample您必须在BE调用成功并更新视图后调用此prop。 如果你在componentDidMount中进行BE调用,它看起来像:

componentDidMount() {
  fetch(url).then(res => {
    this.setState({apiRes: res.data}, this.afterInfiniteScrollApiSuccess);
  })
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM