角度 - 手动更改ngModel值并不会将值检测为有效

时间:2017-07-07 18:34:56

标签: angular angular-ngmodel

我在模板中更改了选择的值:

        <select id="CollaboratorId" 
                    name="CollaboratorId"
                    formControlName="CollaboratorId"
                    class="form-control col-sm-8" 
                    [(ngModel)]="SelectedUser.CollaboratorId" 
                    (change)="onUserChange($event.target.value)" required>
                <option [ngValue]="undefined">Select Collaborator</option>
                <option *ngFor="let collaborator of CollaboratorsList" [ngValue]="collaborator.collaboratorId">{{collaborator.collaboratorFullName}}</option>
        </select>

来自我的组件及其ngModel名称如下:

this.SelectedUser.CollaboratorId = data.collaboratorId;

在运行我的程序时,我确实看到值已经改变,但是因为在更改时没有选择该值,所以它没有被注册为有效。我知道没有办法将表单的控件更改为有效,所以是否有一种方法可以触发(更改)?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为它无法正常工作,因为您正在混合反应和模板驱动的表单。尝试删除[(ngModel)]。