Angular - 检查是否选择了所有选项以启用按钮

Angular - Check if all options are selected to enable button

这是一个测验应用程序,在这种情况下,我的下一个按钮将重定向到另一个页面并且默认情况下它是禁用的如果我选择了它应该启用的所有选项

注意:

我选择选项和选择 correct/wrong 的功能工作正常,我只是想不通在选择每个选项时如何启用。

有什么帮助或建议吗? 工作演示:https://stackblitz.com/edit/angular-ivy-5qtyxy

buttonDisabled = true;
<button class="btn-next" [disabled]="buttonDisabled">
  Next
</button>

你可以使用 Object.keys,像这样

App.component.html

<button class="btn-next" [disabled]="isDisabled()">
    Next
  </button>

app.component.ts

isDisabled(): boolean {
  return Object.keys(this.answerEvaluation).length !== Object.keys(this.practiceQuizData).length;
}

答案会奏效,但您可以按照此处显示的 Angular 方式进行设置:

https://angular.io/guide/forms-overview

有两种方法: 模板驱动或反应形式

然后你可以绑定disabled 属性到form valid 属性.

选择最适合您需求的选项。希望对你有帮助。

我对此的看法是将 buttonDisabled 定义为 getter,然后评估每个问题的状态是否允许导航到下一页...

在我的实现中,用户必须 select 回答所有类型 2 问题,但只回答一个类型 1 问题。如果这不是您想要的,请在评论中说明,这对我来说是合乎逻辑的。希望对您有所帮助。

有什么问题吗?随便问问。

Here's my stackblitz