Флажок в таблице для выбора строки таблицы в Angular

#html #angular

#HTML #angular

Вопрос:

У меня есть таблица в Angular 6, в ней есть флажок? Что я хочу иметь возможность сделать, это установить строку таблицы, то есть флажок, затем нажать кнопку выбора, и она будет отправлена. Мне было интересно, должна ли таблица быть заключена в <form> . Структура моего HTML пока такая, но она не работает:

  <form [formGroup]="assetForm" (ngSubmit)="onSubmit()">
     <table class="table table-striped table-hover mb-10">
         <thead>
            <tr>
              <th>Number</th>
              <th>Sev</th>
              <th>Phone</th>
            </tr>
          </thead>
          <tbody>
             <tr *ngFor="let incident of data">
               <td>
                  <label class="form-radio">
                    <input type="radio" name="id_number" value="id_number">
                    <i class="form-icon"></i>{{incident.number}}
                  </label></td>
                <td>{{incident.sev}}</td>
                <td>{{incident.phone}}</td>
              </tr>
            </tbody>
       </table>
       <button class="btn btn-primary" [disabled]="!Form.valid" type="submit">Select</button>
  </form>
  

Ts.файл

 onSubmit() {
    if (this.assetForm.invalid) {
      this.assetForm.setErrors({ ...this.assetForm.errors, 'required': true });
      return;
    }
    this.uploading = true;
    this.service.post(this.assetForm.value).subscribe((response: any) => {
      console.log(response);//On success response

    }, (errorResponse: any) => {
      console.log(errorResponse); //On unsuccessful response
      this.error = true;
      this.uploading = false;
    });
  }
  

Комментарии:

1. можете ли вы подробнее рассказать о том, что не работает, также можете ли вы воспроизвести проблему на stackblitz.com и поделитесь ссылкой здесь

2. Я добавил еще немного кода из ts-файла и подробнее объяснил проблему, надеюсь, это поможет.

3. Является ли вызов post входящим в success блок или error блокируется после отправки формы?

Ответ №1:

 <tr *ngFor="let incident of data">
    <td>
        <label class="form-radio">
           <input type="radio" name="id_number" value="id_number" [(ngModel)]="incident.checked">
           <i class="form-icon"></i>{{incident.number}}
        </label>
    </td>
    <td>{{incident.sev}}</td>
    <td>{{incident.phone}}</td>
</tr>
  

Попробуйте, надеюсь, это сработает.

Комментарии:

1. Выведите значение данных после нажатия console.log(this.data). Данные, не являющиеся частью группы форм