为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Reactive Forms 中将 Select 中的当前年份设置为默认值?

如何在 Reactive Forms 中将 Select 中的当前年份设置为默认值?

繁星coding 2022-07-15 10:07:42
您好,我创建了一个选择,显示当前年份、过去 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>// TSsendYearsForm: 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);    }
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

您可以使用 patchValue 来更改表单控件的值


yourFormGroupName.controls.yourFormControlName.patchValue(您要分配的值)


在你的情况下


this.sendYearsForm = this.fb.group({

  year: [null]

});

// Show the current year with -5 and +3

this.selectedYear = this.currentDate.getFullYear(); // The current year is transferred here. How do I integrate it into the template?


this.sendYearsForm.controls.year.patchValue(this.selectedYear); // this will set the value of 'year' control to selectedYear(current year)


for (let i = this.currentDate.getFullYear() - 5; i <= this.currentDate.getFullYear() + 3; i++) {

  this.sendYears.push(i);

}


查看完整回答
反对 回复 2022-07-15
?
暮色呼如

TA贡献1853条经验 获得超9个赞

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


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);


查看完整回答
反对 回复 2022-07-15
  • 2 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信