Числовое значение отображается как пустая строка при доступе к значениям formGroup? - PullRequest
0 голосов
/ 19 февраля 2019

Может кто-нибудь объяснить, почему числовые значения отображаются в виде пустой строки в моей formGroup,

  private formatFormValues(depositDates) {
    return depositDates.map((depositDate) => {
      console.log('deposit dates', depositDates);
      console.log('deposit dates - amount', depositDate.controls.effectiveDates.value);
      return {
        effectiveDates: depositDate.controls.effectiveDates.value,
        depositDate: depositDate.controls.depositDate.value,
      };
    });
  }

У меня есть этот экземпляр depositDates formGroup, который я регистрирую и выглядит так: enter image description here

Затем я пытаюсь получить доступ к values в этом экземпляре, и по какой-то причине amount всегда отображается как пустая строка, несмотря на то, что она отображается как активное и заданное числовое значение?

enter image description here

Есть ли у меня что-то упущенное / неправильный доступ к чему-либо для этого?

Ответы [ 3 ]

0 голосов
/ 19 февраля 2019

Оказывается, у меня в параметре setValue() есть параметр option, который останавливает любое событие, генерирующее событие, все еще не понимая, почему оно получит доступ к значению суммы, несмотря на то, что оно было там до моих изменений, ответ идет любому, кто может объяснить ..

0 голосов
/ 19 февраля 2019

Может быть, метод возвращает значения до завершения функции карты?Вы можете попробовать код ниже ..

async formatFormValues(depositDates) {
        return new Promise(async (resolve, reject) => {
            resolve(depositDates.map(async (depositDate) => {
                console.log('deposit dates', depositDates);
                console.log('deposit dates - amount', depositDate.controls.effectiveDates.value);
                return {
                    effectiveDates: depositDate.controls.effectiveDates.value,
                    depositDate: depositDate.controls.depositDate.value,
                };
            }));
        });

    }

При доступе к нему вы можете использовать:

this.formatFormValues(depositDates).then(resp => {
    // set form values
});
0 голосов
/ 19 февраля 2019

Иногда Angular не уведомляется об обновлении value группы форм.Вы можете вручную вызвать updateValueAndValidity для вашей группы форм или требуемого элемента управления формы.

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