如何创建嵌套的表单组,基于模型的反应表单
How to create nested formgroup, model based reactive form
我有一个User
形式的反应形式,我使用了@rxweb
包中的RxFormBuilder
,我有一个用户模型class,其中包含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 link:
https://stackblitz.com/edit/rxweb-nested-formgroup-using-model
根据 @rxweb/reactive-form-validators
的 an example,你应该用 @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);
}
我有一个User
形式的反应形式,我使用了@rxweb
包中的RxFormBuilder
,我有一个用户模型class,其中包含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 link: https://stackblitz.com/edit/rxweb-nested-formgroup-using-model
根据 @rxweb/reactive-form-validators
的 an example,你应该用 @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);
}