首页 > 解决方案 > 角度“选择”绑定到真/假值不起作用

问题描述

我正在尝试将我的select元素绑定到一个真/假值。-- select --由于未显示该选项,因此绑定似乎发生了,这意味着 Angular 知道有一个值,但默认情况下显示为空白。如果我点击它,我会看到我的“是”和“否”选项,但最初并未设置。

        <select class="form-control" id="primary" name="primary" required
                [(ngModel)]="primaryValue">
            <option *ngIf="primaryValue === null" [ngValue]="null">-- Select --</option>
            <option [ngValue]="true">Yes</option>
            <option [ngValue]="false">No</option>
        </select>

primaryValue打字稿文件中是这样定义的:

@Input() primaryValue: boolean;

如果我只用一个输入来做这件事,它工作正常,但如果我使用primaryValue 作为输入和输出,那么它就不起作用。你可以在StackBlitz上看到一个例子

标签: angularangularjs-ng-value

解决方案


您必须传递该boolean值才能设置初始值。

<app-lab-hazard-classification-question-group 
    (change)="onHazardValueChanged($event)"
    primaryQuestion="Primary Question One"
    [primaryValue]="true"                         <!-- Set the boolean value -->
    secondaryQuestion="Secondary Question One" 
    [secondaryValue]="false">                     <!-- Set the boolean value -->
</app-lab-hazard-classification-question-group>

工作副本在这里 - https://stackblitz.com/edit/angular-5mdctu


推荐阅读