Только первая строка кода базы данных возвращается - PullRequest
0 голосов
/ 03 апреля 2020

Я создаю веб-сайт, который вызывает список элементов из внешнего API. Рядом с этим списком есть кнопка «Заказать», которая при нажатии открывает модал с формой заказа.

Форма отправлена, API правильно получает данные формы. Но я пытаюсь отправить информацию о строке в API, чтобы сообщить, что на самом деле было заказано. Проблема в том, что отправляется только первая возвращенная строка, независимо от того, какая строка «Упорядочена».

Мой html кодовый файл:

<head>
</head>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<div class="body">
    <h1 class="header">Carpet Clearance</h1>
    <h2 class="header">
      The Mega Day carpet clearance list
    </h2>
</div>

<table class="table">
  <th>
    <td>Range</td>
    <td>Size</td>
    <td>Colour</td>
    <td>Cost</td>
    <td>Value</td>
    <td>Order</td>

  <tr *ngFor="let row of carpet;">
     <td class="td2">{{row.ID}}</td>
     <td>{{row.Range}}</td>
     <td>{{row.Size}}</td>
     <td>{{row.Colour}}</td>
     <td>{{row.Cost}}</td>
     <td>{{row.Value}}</td>
     <td><button onclick="document.getElementById('id01').style.display='block'" class="btn">Order Item</button>

      <div id="id01" class="w3-modal">
        <div class="w3-modal-content w3-animate-bottom w3-card-4">
          <header class="w3-container w3-teal"> 
            <span onclick="document.getElementById('id01').style.display='none'" 
            class="w3-button w3-display-topright">&times;</span>
            <h2 class="body">Order this item</h2>
          </header>
          <div class="modal">
            <p class="form">To order this range, please enter your customer account number, delivery address and Rep ID.</p>

            <form class="form" [formGroup]="checkoutForm" (ngSubmit)="onSubmit(checkoutForm.value, row)">

              <div>
                <label for="Rep ID">
                  Rep ID<br>
                </label>
                <input id="Rep" type="text" formControlName="Rep">
              </div>

              <div>
                <label for="Account">
                  Account Number<br>
                </label>
                <input id="Account" type="text" formControlName="Account">
              </div>

              <div>
                <label for="address">
                  Address<br>
                </label>
                <input id="Address" type="text" formControlName="Address">
              </div>

              <button class="button" type="submit">Order</button>

            </form>
            </div>              
        </div>
        </div>
      </td>
    </tr>
</table>

Мой файл TS:

    import { Component, OnInit } from '@angular/core';
    import { ApiService } from '../../shared/api.service';
    import { FormBuilder } from '@angular/forms';

    @Component({
      selector: 'app-carpet',
      templateUrl: './carpet.component.html',
      styleUrls: ['./carpet.component.scss']
    })
    export class CarpetComponent implements OnInit {
      checkoutForm;
      carpet = [];
      loadingIndicator = true;
      reorderable = true;

      columns = [
        { prop: 'ID', summaryFunc: () => null },
        { prop: 'Range', summaryFunc: () => null },
        { prop: 'Colour', summaryFunc: () => null },
        { prop: 'Size', summaryFunc: () => null },
        { prop: 'Cost', summaryFunc: () => null },
        { prop: 'Value', summaryFunc: () => null }
      ];

      constructor(private apiService: ApiService,
                  private formBuilder: FormBuilder
                  ) {
                    this.checkoutForm = this.formBuilder.group({
                      Rep: '',
                      Account: '',
                      Address: ''
                    });
                  }

      ngOnInit() {
        this.apiService.getCarpet()
          .subscribe((carpet: any[]) => {
            this.carpet = carpet;
            this.loadingIndicator = false;
          });

      }
      onSubmit(customerData, row) {
        const data = {
          customerData, row
        };
        this.apiService.sendFormData(data)
          .subscribe();
        this.checkoutForm.reset();

        console.warn('Your order has been submitted', customerData);
      }
    }

Кто-нибудь может указать мне на ошибку здесь?

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