1

我目前正在使用 Angular 2 的 Reactive Forms 模块,并且我对编辑对象的最佳实践有疑问。

我知道您可以在创建表单时设置初始值,例如:

this.clientForm = this.formBuilder.group({
            name: ['', Validators.required],
            industry: ['', Validators.required]
        });

初始值根据需要为空白。但是,在我的情况下,我有一个子组件,它使用与父级共享的服务。当用户在子项中选择要编辑的实体时,它应该在父项中填写表单。现在我正在使用订阅服务将值填充到表单中,然后在表单更改时更改服务中的值,如下所示:

ngOnInit(): void {   
        this.buildForm();
        this.addEditClientSub = this._clientService.getAddEditClient().subscribe(client => {
            if (client != null) {
                this.clientForm.patchValue(client, { onlySelf: true });
                this.formChangesSub = this.clientForm.valueChanges
                    .subscribe(x => this._clientService.updateEditClient(this.clientForm.value));
            }   
        }); 
    }

但我觉得必须有更好的方法来处理反应式表单的编辑?没有多少文章涉及使用这些类型的表单编辑模型......

谢谢!

4

0 回答 0