当部署到SP站点时,在SPFX Web部件中单击按钮时,模式出现然后消失



我有两个Web部件。一个Web部件与另一个几乎完全相同。Web部件A有一个用户可以点击的按钮,它显示了一个模态。Web部件B有一个用户可以点击的按钮,它加载模态,半秒钟后它就消失了。当在SPO站点的工作台上进行测试时,Webpart B可以正常工作,但当以.sppkg文件的形式部署到实际的SPO站点时,它显示了上述行为。我已经检查了模态状态,它正确地在true和false之间切换。

我正在使用:Edge Chromium,SPO通信网站具有宽栏型页面(WebPart A在这方面工作正常(Windows 10,节点版本v8.16.0,构建工具版本8.16.0

以下是产生模式的代码:

if(this.state.showModal !== true){
return (

<div className={styles.jobeval}>
<div className={styles.container}>
... //here is a list of items that are successfully retrieved from an SPO list
<div className={styles.row}>
<div className={styles.column}>
<DefaultButton
disabled={false}
checked={true}
text="New"
onClick={this._onNew} //this button sets the modal's is Open state to true
/>
</div>
</div>

</div>
);
} else if(this.state.showModal == true) {
return(

<Modal
titleAriaId={this._titleId}
subtitleAriaId={this._subtitleId}
isOpen={this.state.showModal}
onDismiss={this._closeModal}
closeButtonAriaLabel={"Close"}
isBlocking={true}
containerClassName={styles.modalBody}

> 
Here's the modal content
</Modal>

);

WebPart A有相同的代码,但有不同版本的@pnp/sp,但我认为这与它无关。

任何想法——作为提醒,它在测试工作台上有效,但在作为包部署时无效。

这是无法解释的。我到处看了看,终于确定是@pnp/sp加载不正确。我已经更改了@pnp的挂载代码,它现在适用于比以前更多的租户,但它仍然不适用于特定的租户。

最新更新