我应该如何用 formControlName 而不是 [(ngmodel)] 初始化 ngbDatepicker

Jul*_*oro 9 ng-bootstrap angular

我需要使用 ReactiveForms[formGroup]formGroupName="field"

<form [formGroup]="generalForm" (ngSubmit)="onSubmit()">
  <input class="form-control" placeholder="yyyy-mm-dd" 
  formControlName="dateIni" ngbDatepicker #a="ngbDatepicker">
</form>
Run Code Online (Sandbox Code Playgroud)

组件.ts

generalForm: FormGroup;

ngOnInit() {
this.generalForm = this.formBuilder.group({
  name: ['', Validators.required],
  dateIni: ['', Validators.required],
  dateFin: ['', Validators.required],
  registerDateLimit: ['', Validators.required],
});
Run Code Online (Sandbox Code Playgroud)

}

在我的代码中,我尝试设置一个默认值:

public dateIni: { year: 2017, month: 8, day: 8 };
Run Code Online (Sandbox Code Playgroud)

或者

@Input() dateIni: { year: 2017, month: 8, day: 8 };
Run Code Online (Sandbox Code Playgroud)

但它没有采用默认值,所有文档都只提到模板表单的情况。

任何想法我该怎么做?

Ant*_*sss 2

  dateIni: ['', Validators.required],
Run Code Online (Sandbox Code Playgroud)

你需要把你的初始值放在这里

 dateIni: ['2014-01-01', Validators.required],
Run Code Online (Sandbox Code Playgroud)

以正确的格式

  • 发送!只需将其更改为: dateIni: [{'year': 2018, 'month': 12, 'day': 12}, Validators.required] for NgbDatePicker (3认同)