【发布时间】:2020-08-21 23:30:43
【问题描述】:
我正在使用 Angular 10 框架开发一个测验应用程序。我想禁用下一个按钮,直到选择单答案选项和多答案问题选项,然后单击下一步按钮应该启用。当用户试图在没有给出答案的情况下单击下一步按钮时,我希望它会说“请选择一个答案以继续”。我尝试通过添加 [disabled]="true" 来禁用下一个按钮,但它可能应该是 [disabled]="isAnswered"。
请您在 Stackblitz 上查看我的代码:https://stackblitz.com/edit/angular-10-quiz-app。我还在下面附上了我的按钮代码的 sn-p。我不知道该怎么做。请你帮忙解决这个问题。谢谢!
下一个按钮的代码(在 quiz.component.html 中):
<div class="next-question-nav" *ngIf="question && questionIndex !== totalQuestions">
<button type="button" mat-flat-button
(click)="advanceToNextQuestion()"
(window:keydown.ArrowRight)="advanceToNextQuestion()"
(window:keydown.Enter)="advanceToNextQuestion()"
matTooltip="Next Question »" matTooltipPosition="above" [disabled]="true">
<svg viewBox="0 0 410.258 410.258">
<polygon [attr.points]="paging.nextButtonPoints"/>
</svg>
</button>
</div>
【问题讨论】:
-
在 selectedAnswer 方法中设置 isAnswered 为 true 并且 [disabled]='!isAnswered' 并且当前流程可能存在问题,您需要提前将 isAnswered 设置为 false 到 nextquestion() 并将 isAnswered 设置为 true previousQuestion() 方法。这样,您将只剩下一种情况,当您单击上一个问题时,您需要根据问题是否得到回答再次设置 isAnswered
标签: javascript html angular