首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于多个setValue的formGroups

用于多个setValue的formGroups
EN

Stack Overflow用户
提问于 2016-12-02 16:52:19
回答 1查看 4.2K关注 0票数 0

如何使用模型驱动的表单对嵌套的setValue进行formGroup?没有嵌套的formGroup,我可以这样做:

代码语言:javascript
复制
export class MyComponent {

  constructor(
    private formBuilder: FormBuilder) {
      this.form = formBuilder.group({
        id: [],
        title: ['', Validators.required],
        start_date: ['', Validators.required],
        end_date: ['', Validators.required]
     });
  }

  ngOnInit() {
    ...
    this.form.setValue({
      id: this.academicTerm.id,
      title: this.academicTerm.title,
      start_date: this.academicTerm.start_date,
      end_date: this.academicTerm.end_date
    });
    ...
  }

}

这很好,但是如果我将开始日期和结束日期嵌套到它们自己的dates formGroup中(用于验证)。如果没有显示),则无法找到设置开始日期和结束日期值的方法。

代码语言:javascript
复制
export class MyComponent {

  constructor(
    private formBuilder: FormBuilder) {
      this.form = formBuilder.group({
        id: [],
        title: ['', Validators.required],
        dates: formBuilder.group({
          start_date: ['', Validators.required],
          end_date: ['', Validators.required]
        })
     });
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-03 12:31:39

可以将日期值设置为:

代码语言:javascript
复制
this.form.controls['dates'].setValue({
    start_date: '',
    end_date: '',
});

或者整个表格:

代码语言:javascript
复制
this.form.setValue({
  id: '',
  title: '',
  dates: {
      start_date: '',
      end_date: ''
  }
});

但是,如果要设置默认值,只需在构建表单时执行,而不是使用空值('')。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40937240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档