通过异步功能禁用按钮



在我的react.js组件中,我呈现了一个创建PDF 的按钮

<Button onClick={() => this.goCreatePdf()} variant="secondary" disabled={this.state.pdfLoading}>
create PDF
</Button>

该按钮调用一个异步函数,该函数根据提供给它的数据创建PDF并返回Promise。

goCreatePdf() {
this.setState({ pdfLoading: true });
const pdfFinished = createPdf(this.Data);
pdfFinished.then((response) => {
this.finishedCreatePdf();
});
}

PDF完成后,会调用另一个函数将pdfLoading设置为false。

finishedCreatePdf() {
this.setState({ pdfLoading: false });
} 

不幸的是,这个按钮并没有像我希望的那样禁用和启用。有什么建议吗?

编辑:我希望通过promise禁用该按钮。

您的代码看起来不错。如果您没有键入statepdfLoading属性,您是否仔细检查过?

最新更新