我使用包含autocomplete和datepicker(ng2-bootstrap)的Angular 2创建了表单 . 一切都是使用FormGroup和FormControls实现的 .

this.searchForm = new FormGroup({
  dateStart: new FormControl(null, Validators.required),
  dateEnd: new FormControl(null, Validators.required),
  origin: new FormControl(null, Validators.required),
  destination: new FormControl(null, Validators.required)
});

自动填充字段按预期工作(在每个方面:逻辑,表单验证,formControlName属性) .

不幸的是,使用模型驱动的Forms和formControlName,datepicker控件无法正常工作 . 我不得不使用ngModel绑定用户数据,但我正在寻找更复杂的解决方案来控制FormGroup级别的所有字段并负责验证 .

Current HTML code responsible for datepicker:

<datepicker
  [(ngModel)]="searchForm.value.dateEnd"
  [ngModelOptions]="{standalone: true}"
  [showWeeks]="false"
  [startingDay]="1"
  [minDate]="minDateEnd"
  [initDate]="minDateEnd"
  [collapse]="isCalEndVisible"
></datepicker>

The expected result:

<datepicker
  formControlName="dateEnd"
  [showWeeks]="false"
  [startingDay]="1"
  [minDate]="minDateEnd"
  [initDate]="minDateEnd"
  [collapse]="isCalEndVisible"
></datepicker>

伙计们,有什么想法吗?