Angular: привязка группы форм для флажков, не устанавливающая значение по умолчанию после перехода на версию 6

У меня есть приложение, созданное с помощью angular2/3/4. У меня есть контроллер, который инициализирует FormGroup кодом, который выглядит так (инициализация выполняется внутри его конструктора):

this.funcoes = this._fb.group({
      "cliente": [false],
      "gestorRecursos": [false],
      "motorista": [false],
      "gestorUtilizadores": [false]
  }, { validator: ValidacoesPersonalizadas.verificaExistenciaSelecao} );

А вот HTML-код одного из флажков:

<input type="checkbox" value="cliente" id="cliente" name="cliente" formControlName="cliente" />

После перехода на версию 6 я заметил, что если пользователь не «отмечает/снимает» флажки, связанные с каждым из элементов управления формами, которые составляют группу, то при попытке получить его значение будет возвращено значение null (вместо значения по умолчанию) :

const isClient = this.funcoes.get("cliente").value; //null, if user does not click

Я знаю, что я не был активен в angular в течение нескольких месяцев, но у меня сложилось впечатление, что значение по умолчанию, переданное методу group во время настройки группы, должно использоваться как значение, когда пользователь не коснулся флажок. Я ошибаюсь? Что-то изменилось с выходом последней версии?

Спасибо.


person Luis Abreu    schedule 20.09.2018    source источник


Ответы (1)


Хорошо, нашел. Ничего плохого в угловом :)

Где-то был вызов reset, который инициировался определенным значением, переданным в одно из полей (в мастере). На практике это приведет к обнулению всех значений (и именно поэтому начальное значение по умолчанию не использовалось).

person Luis Abreu    schedule 20.09.2018