首页 > 解决方案 > 如何在 Angular 中使用 ngModel 预填充表单

问题描述

当我打开表单时,我希望一些字段预先填充值。这就是我[checked]="userFilter[u.id]"在下面使用的原因。

但是,只要我将ngModel指令包含到元素中,表单就不会显示预填充的值。

例如

<!-- works and checks/unchecks the box according to userFilter[u.id] when first opening the form -->
<input type="checkbox" id="{{u.id}}" name="{{u.name}}" [checked]="userFilter[u.id]">


<!-- does not check or uncheck the box according to userFilter[u.id] when first opening the form -->
<input type="checkbox" id="{{u.id}}" name="{{u.name}}" ngModel [checked]="userFilter[u.id]">

我想使用 ngModel,因为当我提交表单时,我想访问所有字段和值,如下所示:

onSubmit(f: NgForm) {
   console.log('form values', f.value); 
}

这也很好用,但我需要用一些已经定义的值打开表单

谢谢

标签: angulardata-bindingangular-ngmodelangular-formsngmodel

解决方案


为了设置复选框的初始状态,使用单向数据绑定[ngModel]

[ngModel]="userFilter[u.id]"

推荐阅读