ReactJS中的动态Popover
我对React还相当陌生,我正在使用Ant设计框架() 我有一个表项列表,我希望每个表项上都有一个按钮,这样当按下该表项列表时,有关该行的其他信息就可用了(这是特定于该行的辅助API调用) 我正在尝试使用popover,但我注意到popover在呈现文本之前需要文本,这是一个问题,因为直到第二次API调用我才知道这些信息。到目前为止,我想到的最好的办法是按下按钮触发api调用,然后更新状态,但这会创建一种时髦的体验(因为它是在打开popover之后更新的,从前面的行信息开始)。这不是一个巨大的时间,但它仍然不是一个理想的体验 这就是我到目前为止所做的:ReactJS中的动态Popover,reactjs,Reactjs,我对React还相当陌生,我正在使用Ant设计框架() 我有一个表项列表,我希望每个表项上都有一个按钮,这样当按下该表项列表时,有关该行的其他信息就可用了(这是特定于该行的辅助API调用) 我正在尝试使用popover,但我注意到popover在呈现文本之前需要文本,这是一个问题,因为直到第二次API调用我才知道这些信息。到目前为止,我想到的最好的办法是按下按钮触发api调用,然后更新状态,但这会创建一种时髦的体验(因为它是在打开popover之后更新的,从前面的行信息开始)。这不是一个巨大的时
<Popover content={this.contentSec([record['section']])} title=
{record['section']} trigger="click">
<Button onClick={() => this.sectionAttributes(record['section'])}>
<Icon type="info-circle-o" />
</Button>
</Popover>
this.sectionAttributes(记录['section]])}>
this.sectionAttributes触发我的提取请求。并且this.contentSec对现有弹出窗口进行格式化(见下文)
contentSec(道具){
const listItems=this.state.attributes.map((项)=>
{item}
);
返回{listItems}
}
有没有更好的方法来处理这个问题,这样在点击popover按钮时就不会出现错误的延迟
谢谢。由于内容是在第二次api调用后填充的,您可以发送两个道具
内容
,它们可以是空字符串或任何默认值,并单击将变量加载为true
。API调用后获得数据后,您可以发送更新的道具,即带有实际文本的内容
,并将加载
设置为false,最后在popover组件中处理逻辑和状态更新
您可以使用加载
属性从最初的加载程序切换到实际内容。编写一个条件,检查此.sectionAttributes(记录['section']是否为真,如果为真,则
<Popover content={this.contentSec([record['section']])} title=
{record['section']} trigger="click">
<Button onClick={() => this.sectionAttributes(record['section'])}>
<Icon type="info-circle-o" />
</Button>
</Popover>
this.sectionAttributes(记录['section]])}>
否则就干脆用
<Button onClick={() => this.sectionAttributes(record['section'])}>
<Icon type="info-circle-o" />
</Button>
this.sectionAttributes(记录['section]])>
用户第一次单击按钮时,组件重新加载并更新状态,因此当它重新加载时,您可以看到popover满足条件
<Button onClick={() => this.sectionAttributes(record['section'])}>
<Icon type="info-circle-o" />
</Button>