当部署到 SP 站点时,在 SPFX webpart 中单击按钮时模态出现然后消失
Modal appearing then disappearing on button click in SPFX webpart when deployed to SP site
我有两个 Web 部件。一个 Web 部件几乎与另一个相同。
Web 部件 A 有一个用户可以单击的按钮,它显示一个模式。
Web 部件 B 有一个用户可以单击的按钮,它加载模式,半秒后消失。 Webpart B 在 SPO 站点上的 workbench 上测试时工作正常,但在作为 .sppkg 文件部署到实际 SPO 站点时显示上述行为。
我检查了模态状态,它在 true 和 false 之间正确切换。
我正在使用:
边缘铬,
具有宽栏类型页面的 SPO 通信站点(WebPart A 在这方面工作正常)
Windows10个,
节点版本 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,但我认为这与它没有任何关系。
任何想法 - 提醒一下,它在测试中有效 workbench 但在作为包部署时无效。
这是无法解释的。我到处看了看,最后决定是@pnp/sp 没有正确加载。我已经更改了@pnp 的安装代码,它现在适用于比以前更多的租户,但它仍然不适用于特定租户。
我有两个 Web 部件。一个 Web 部件几乎与另一个相同。 Web 部件 A 有一个用户可以单击的按钮,它显示一个模式。 Web 部件 B 有一个用户可以单击的按钮,它加载模式,半秒后消失。 Webpart B 在 SPO 站点上的 workbench 上测试时工作正常,但在作为 .sppkg 文件部署到实际 SPO 站点时显示上述行为。 我检查了模态状态,它在 true 和 false 之间正确切换。
我正在使用: 边缘铬, 具有宽栏类型页面的 SPO 通信站点(WebPart A 在这方面工作正常) Windows10个, 节点版本 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,但我认为这与它没有任何关系。
任何想法 - 提醒一下,它在测试中有效 workbench 但在作为包部署时无效。
这是无法解释的。我到处看了看,最后决定是@pnp/sp 没有正确加载。我已经更改了@pnp 的安装代码,它现在适用于比以前更多的租户,但它仍然不适用于特定租户。