В чем разница между установкой значения для объекта formGroup посредством присваивания и с помощью patchValue ()? - PullRequest
0 голосов
/ 08 октября 2019

Если я использую функцию patchValue () Реактивной формы для присвоения значений моему объекту, насколько он будет отличаться, если я назначу ему значение с помощью оператора присвоения?

Я уже запустил код изначения устанавливаются для объекта «клиент», т. е. оба работают одинаково. Кто-нибудь может сказать, есть ли какие-то скрытые различия, которые я пропускаю, или есть какие-то очевидные различия, которые я не получаю?


класс клиента: customer.ts

export class Customer {
    id: number;
    name: string;
    age: number;
    active: boolean;
    myproduct: {
        p_id : number;
    }
}

объект клиента: create-customer-component.ts

customer = this.fb.group({
    id: null,
    name : ['', [Validators.required, Validators.minLength(4)]],
    age : ['', [Validators.required, Validators.min(18),Validators.max(100)]], 
    active: false,
    myproduct:this.fb.group(
      { p_id : null
      })
  })

два вышеупомянутых варианта

this.customer.value.myproduct.p_id = 1;
this.customer.patchValue({p_id : 2}) ;

1 Ответ

0 голосов
/ 11 октября 2019

Вы можете установить значение, но оно не будет отображаться в поле ввода, или вы можете использовать this.customer.controls ['p_id'] .setValue ('Any Id');

...