gpt4 book ai didi

Angular 6 弃用 formControlName 和 ngModel 一起使用

转载 作者:行者123 更新时间:2023-12-03 20:29:29 30 4
gpt4 key购买 nike

我有 Angular 6 项目。我一起使用 ngModel 和 formControlName 。但是 Angular 在下面给了我警告。 Forexamle 当我从网格中的按钮打开更新弹出窗口时,我可以轻松地自动绑定(bind)更新弹出窗口中的输入。但是 angular 7 说删除 ngModel。因此,我必须始终将所有内容映射到我的学生对象。最好的方法是什么?我们可以在下面的代码中赋予 formValueType 来形成像 studentObject 这样的值,然后它可以自动绑定(bind)吗?

Angular 警告:

     It looks like you're using ngModel on the same form field 
as formControlName. Support for using the ngModel input property and
ngModelChange event with reactive form directives has been deprecated
in Angular v6 and will be removed in Angular v7.

我的HTML
<form [formGroup]="studentForm" ??????formValueType="studentObject"?????>
<p-dialog>
<div class="ui-g-12 form-group">
<div class="ui-g-4">
<label>Name Surname</label>
</div>
<div class="ui-g-8">
<input pInputText [(ngModel)]="selectedStudent.nameSurname" formControlName="nameSurname" />
</div>
</div>
<div class="ui-g-12 form-group">
<div class="ui-g-4">
<label>Email</label>
</div>
<div class="ui-g-8">
<input pInputText [(ngModel)]="selectedStudent.email" formControlName="email" />
</div>
</div>
<div class="ui-g-12 form-group">
<div class="ui-g-4">
<label>Age</label>
</div>
<div class="ui-g-8">
<input pInputText [(ngModel)]="selectedStudent.age" formControlName="age" />
</div>
</div>
</div>
<button type="button" pButton icon="fa fa-check" (click)="save()" label="Save"></button>
</p-dialog>
</form>

最佳答案

ngModelformGroup真的很奇怪。您应该删除 ngModel而是绑定(bind)到 valueChanges在 fromGroup 上,然后只遍历接收到的数据并分配值。

 //somewhere where form is build
this.studentForm.valueChanges.subscribe(data => this.onStudentFormValueChange(data));

private onStudentFormValueChange(data) {
this.selectedStudent.age = data.age
this.selectedStudent.email = data.email
this.selectedStudent.nameSurname = data.nameSurname

// or
for (const key in this.studentForm.controls) {
const control = this.studentForm.get(key);
this.selectedStudent[key] = control.value
}
}

关于Angular 6 弃用 formControlName 和 ngModel 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52641557/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com