【问题标题】:How to create nested formgroup, model based reactive form如何创建嵌套表单组,基于模型的反应表单
【发布时间】:2019-02-10 09:06:49
【问题描述】:

我有一个User 反应形式,我使用了@rxweb 包中的RxFormBuilder,我有一个包含UserInfo 对象的用户模型类,我如何将它用作嵌套的formgroup ?

model.ts:

import {prop,propArray } from "@rxweb/reactive-form-validators"
export class UserInfo{
   @prop()
   cityId: number 

   @prop()
   countryId: number;
}

export class User{
 @prop()
 userId: string;

 @prop()
 password: string;

@prop()
securityQuestion: string;

 @prop()
 userInfo : UserInfo;

}

component.ts:

export class UserInfoComponent implements OnInit {

    userInfoFormGroup: FormGroup

    constructor(
        private formBuilder: RxFormBuilder
    ) { }

    ngOnInit() {
        this.userInfoFormGroup = this.formBuilder.formGroup(User);
    }
}

我想在用户模型中使用UserInfo 对象作为嵌套formgroup。如何创建嵌套的formgroup

这是一个 stackblitz 链接: https://stackblitz.com/edit/rxweb-nested-formgroup-using-model

【问题讨论】:

    标签: angular angular-reactive-forms


    【解决方案1】:

    根据@rxweb/reactive-form-validators中的an example,你应该用@propObject装饰器装饰你的userInfo属性:

    import { propObject} from "@rxweb/reactive-form-validators";
    
    export class User {
      ...
    
      @propObject(UserInfo)
      userInfo: UserInfo;
    }
    

    并且还初始化FormGrouplike:

    ngOnInit() {
        let user = new User();
        user.userInfo = new UserInfo();
        this.userInfoFormGroup = this.formBuilder.formGroup(user);
    }
    

    Forked Stackblitz

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-01
      • 2017-07-14
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 2017-01-29
      • 2017-08-13
      • 2020-10-10
      相关资源
      最近更新 更多