Угловая форма: как я могу динамически получить значение переключателей? - PullRequest
0 голосов
/ 29 октября 2019

У меня есть две радиокнопки. Мне нужно, чтобы они могли получить значение выбранного.

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

Это то, что у меня есть в моем шаблоне:

  <div class="col-sm-3 pr-0">
    <div class="radio c-radio">
      <label class="text-bold fs-custom-11">
        <input
          type="radio"
          value="E"
          formControlName="radioIpunt"
          [disabled]="!actionBtns"

          checked
        /><span class="fa fa-circle"></span>YES</label
      >
    </div>
  </div>
  <div class="col-sm-3 ph-0">
    <div class="radio c-radio">
      <label class="text-bold fs-custom-11">
        <input
          type="radio"
          value="M"
          formControlName="radioIpunt"
          [disabled]="!actionBtns"

        /><span class="fa fa-circle"></span>NO</label
      >
    </div>
  </div>

, а это построение форм в файле .ts:

constructor(// some props here not relevant for this question){
    this.forma = new FormGroup({
      /* a lot of controls not relevant to this question*/

      radioIpunt: new FormControl(''),
}

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

buscaFolios() {  
     /* Some input value captures not relevant to this question */

        if(this.forma.controls.radioIpunt.value == 'M' ){
        console.log("M")
        this.requestDos.radioIpunt.value = 'SI'
        }
        else {
          console.log("E")
          this.requestDos.sindelectronico.value = 'NO'
        }
        this.requestDos.sindelectronico = this.forma.controls.radioIpunt.value;
        this.documentosService.buscaDocumentosTimbrados(this.requestDos).subscribe((res)=>{
         this.documentosTimbrados = res['documentos'])
        })
      }
}

1 Ответ

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

Поскольку вы используете угловые реактивные формы, невозможно получить первое значение переключателя при выборе второго переключателя или наоборот.

Модуль угловых форм использует свойство formControlName для всех элементов управления формы. Для переключателей в вашем случае это formControlName одинаково для мужчин и женщин. Вы получите только выбранное значение радиокнопки. Шаблонно-управляемые формы могут работать в вашем случае, но я не уверен.

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