angular - 如何创建嵌套的表单组,基于模型的 react 表单

标签 angular angular-reactive-forms

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

模型.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;

}

组件.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

最佳答案

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

import { propObject} from "@rxweb/reactive-form-validators";

export class User {
  ...

  @propObject(UserInfo)
  userInfo: UserInfo;
}

同时初始化 FormGroup 如下:

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

Forked Stackblitz

关于angular - 如何创建嵌套的表单组,基于模型的 react 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54603929/

相关文章:

file - Ionic 2 文件插件 : how to create file in ionic 3

angular - 当使用patchValue方法更新表单值时,表单变脏?

angular - 在 Angular 5 中将数据从服务获取到 react 形式的最佳方式

javascript - 如何以 Angular 组合单一形式的两个部分?

node.js - 在Docker容器中访问Angular应用程序

Angular 2 根据 POST 请求重新加载页面

angular - 如何从表单组中禁用的表单控件中获取值?

angular - 如何使 Angular Reactive Form 也需要禁用输入?

angular - RXJS groupBy Observable <对象[]>

angular - Bamboo - Angular 4 应用程序如何部署