setvalues ​​для вложенной группы форм из объекта JSON angular 10

У меня есть объект JSON, поступающий из бэкэнда, и я хотел бы лучше установить для него значения. Каков наилучший подход, который я должен рассмотреть?

Я знаю, как вручную устанавливать значения для объектов на основе ключевого параметра.

Есть ли другой оптимизированный способ сделать это?

//backend response
"response": {

    "senderCode": "123",
    "senderName": "test2",
    "receiverCode": "456",
    "name": "test",
    "contactnumber": "1233333333"

}
//formgroup structure

this.Form = this.fb.group({
    receiverCompanyCode: null,
    // Sender Information
    senderInformation: this.fb.group({
        senderCompanyCode: [null],
        senderName: [null],
    }),

    // Contact Information
    contactInformation: this.fb.group({
        name: [null, Validators.required],
        telephone: [null, Validators.required],
    }),
});


person app    schedule 28.10.2020    source источник


Ответы (2)


может быть это поможет вам

const response = {
      name: 'test',
      telephone: '1233333333'
};
this.contactInformation.setValue(response);
person amir seify    schedule 28.10.2020

вам нужно вручную сопоставить данные со значением формы

const mappedValue = {
receiverCompanyCode: response.receiverCompanyCode,
    senderInformation: {
        senderCompanyCode: response.senderCompanyCode,
        senderName: response.senderName,
    },
    contactInformation: {
        name: response.name,
        telephone: response.telephone,
    }
}
this.Form.patchValue(mappedValue);

или изменить структуру FormGroup и исправить значение ответа напрямую

this.Form = this.fb.group({
    senderCode: [null],
    senderName: [null],
    receiverCode: [null],
    name: [null],
    contactnumber: [null]
});
this.Form.patchValue(response);
person Amit Desai    schedule 28.10.2020