4

我有一组要渲染的“字段”对象。当 field.type 是 date 我想渲染一个 ngx-bootstrap/datepicker 字段。我的日期字段的 JSON 对象如下所示:

{
"field": {
  "name": "date_of_occurrence",
  "label": "Date of occurrence",
  "valueType": "date",
  "type": "custom",
  "settings": {
     "required": false
  },
  "organisation": 1,
 },
 "size": 4
}

我正在尝试像这样渲染它:

<form *ngIf="complexForm" name="form" (ngSubmit)="complexForm.valid && send()" [formGroup]="complexForm" novalidate>

<div *ngIf="fieldValue.field.valueType == 'date'" class="form-group">
    <label>{{fieldValue.field.label}}:</label>
    <div class="input-group">
        <input [required]="fieldValue.field.settings.required" type="text" id="complexForm.controls[fieldValue.field.name]" class="form-control date-input" bsDatepicker [(ngModel)]="fieldValue.value">
        <label for="complexForm.controls[fieldValue.field.name]" class="input-group-btn btn btn-primary" (click)="dp.toggle()"><i class="fa fa-calendar" aria-hidden="true"></i></label>
        <span style="display: inline-block">                
            <datepicker #dp [(ngModel)]="fieldValue.value" style="display: block"></datepicker>
        </span>
    </div>
</div>

</form>

但我得到这个错误:

ngModel 不能用于使用父 formGroup 指令注册表单控件。尝试改用 formGroup 的合作伙伴指令“formControlName”。

我看到 datepicker 示例使用“bsValue”来绑定,但我不想硬编码它,因为我的组件简单地呈现了数组中的任何“字段”,并且应该将值绑定回该数组的 value 属性。直到第一次保存值属性不存在。

我究竟做错了什么?

4

0 回答 0