Присвоение элементу управления формы значения по умолчанию из возвращенных внутренних данных - PullRequest
0 голосов
/ 22 октября 2019

У меня проблемы с назначением значения по умолчанию для элемента управления формой номеру, полученному из бэкэнда.

Я сохранил число в своем собственном объекте и пытаюсь вызвать его в элементе управления формой.

totalInvoice: number;

finalizeInvoiceCost = this.fb.group({
   totalInvoiceCost: [this.totalInvoice]
});

Я ожидаю, что элемент управления формой по умолчанию будет соответствовать номеру, хранящемуся внутриtotalInvoice, но когда я регистрирую его на консоли, он показывает значение 'null'

Ответы [ 3 ]

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

Хорошо, после инициализации totalInvoice вы можете установить его значение в виде:

this.finalizeInvoiceCost.patchValue({totalInvoiceCost: this.totalInvoice}); 

Вы также можете использовать setValue, но для этого вы должны указать значение для каждого поля в вашемформа или он потерпит крах.

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

Может быть, formControl получает значение totalInvoice со значением по умолчанию null, потому что ваш totalInvoice не получил данные из внутреннего интерфейса.

Сначала вы должны убедиться, что данные в totalInvoice есть.

Или вы можете использовать это после того, как у totalInvoicesCost есть данные.

this.finalizeInvoiceCost.get('totalInvoiceCost').setValue(totalInvoice);
0 голосов
/ 22 октября 2019

Вы можете использовать formBuilder, чтобы установить значение по умолчанию для вашего элемента управления, например так:

finalizeInvoiceCost = this.fb.group({
    totalInvoiceCost:  this.fb.control(this.totalInvoice, [])
});

Это если у вас уже инициализирован totalInvoice. Если вы этого не сделаете, вы можете сделать это позже, позвонив по телефону:

this.finalizeInvoiceCost.get('totalInvoiceCost').patchValue(this.someNewValue);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...