在我的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禁用该按钮。
您的代码看起来不错。如果您没有键入state
的pdfLoading
属性,您是否仔细检查过?