#javascript #html #angular #typescript
#язык JavaScript #HTML #угловой #машинописный текст
Вопрос:
В моем коде у меня есть две кнопки. Один для сохранения предложения, а другой для отправки этого предложения. Я хочу, чтобы кнопка «Отправить» начала работать, если нажать кнопку «Сохранить» один раз. Если пользователь попытается отправить предложение, не нажав кнопку сохранить хотя бы один раз, должно появиться предупреждающее сообщение. Вот мой код, как я могу этого достичь?
saveOffer() { this._offerService.saveOffer(this.offer).subscribe(() =gt; { this._offerService.getOfferDetail(this.offer.OfferId); }); } sendOfferSupplier() { this.confirmDialogRef = this._dialog.open(FuseConfirmDialogComponent, { disableClose: false }); this.confirmDialogRef.componentInstance.confirmMessage = 'Do you want to send the offer?'; this.confirmDialogRef.afterClosed().subscribe(result =gt; { if (result) { this.offer.ApprovementInfo.Description = result; this._offerService.sendOfferSupplier(this.offer).subscribe(() =gt; { this._offerService.getOfferDetail(this.offer.OfferId); }); } }); }
Ответ №1:
Создайте флаг bool и управляйте им, чтобы проверить состояние:
isOfferSaved = false; saveOffer() { this._offerService.saveOffer(this.offer).subscribe(() =gt; { this._offerService.getOfferDetail(this.offer.OfferId); this.isOfferSaved = true; }); } sendOfferSupplier() { if(!this.isOfferSaved) { //Show warning message with a toast component alert('No offer saved yet!'); return; } this.confirmDialogRef = this._dialog.open(FuseConfirmDialogComponent, { disableClose: false }); this.confirmDialogRef.componentInstance.confirmMessage = 'Do you want to send the offer?'; this.confirmDialogRef.afterClosed().subscribe(result =gt; { if (result) { this.offer.ApprovementInfo.Description = result; this._offerService.sendOfferSupplier(this.offer).subscribe(() =gt; { this._offerService.getOfferDetail(this.offer.OfferId); }); } }); }