我如何将我的选择中的当前年份设置为反应形式的默认年份?

问题描述 投票:0回答:1

您好,我创建了一个选择,向我显示了当前年份,过去5年和未来3年。现在,我想将其设置为当前年份始终为默认年份。这应该在反应式表单中完成...您知道该怎么做吗?

我的代码:

// HTML
<form [formGroup]="sendYearsForm">
<select class="upload_slc" id="upload_slc" required title="" formControlName="year" 
 (change)="sendYear($event)">
   <option *ngFor="let years of sendYears" [value]="years">{{years}}</option>
</select>
 <div class="select_arrow"></div>
</form>
// TS
sendYearsForm: FormGroup;
currentDate: Date = new Date();
selectedYear: number;

// Year form
    this.sendYearsForm = this.fb.group({
      year: [null]
    });
    // Show the current year with -5 and +3
    this.selectedYear = this.currentDate.getFullYear(); // HThe current year is transferred here. How do I integrate it into the template?
    for (let i = this.currentDate.getFullYear() - 5; i <= this.currentDate.getFullYear() + 3; i++) {
      this.sendYears.push(i);
    }


javascript angular typescript angular-material dropdown
1个回答
0
投票

您可以通过以下方式之一进行操作:

this.selectedYear = this.currentDate.getFullYear();
this.sendYearsForm= this.fb.group({
  year: new FormControl(this.selectedYear, [])
});

this.sendYearsForm = this.fb.group({
 year: [null]
});
this.selectedYear = this.currentDate.getFullYear();
this.sendYearsForm.get('year').setValue(this.selectedYear);
© www.soinside.com 2019 - 2024. All rights reserved.