Я не могу получить выбор (раскрывающееся меню) для обновления ответа API от ngfileupload (имена листов в загруженном файле). Я вижу имена листов в том, что возвращается в браузере, но не могу динамически получить его «в» раскрывающемся списке выбора.

this.uploader.onSuccessItem=(item,response,status,headers)=>
{
  if (response)
  {
    const res:UploadDataStep1=JSON.parse(response);
    const returnDataStep1=
    {
      Url:res.Url,
      SheetNames:res.SheetNames
    };
    console.log(returnDataStep1.Url);
    // this.sheetNames=returnDataStep1.SheetNames;
    this.makeTenderStep1_Form.controls['sheetNames'].patchValue(returnDataStep1.SheetNames);
    //Input here what needs to happen with data
  }
}

И HTML:

<select class="browser-default custom-select"

          [ngClass]="{'is-invalid':makeTenderStep1_Form.get('sheetNames').errors&&
          makeTenderStep1_Form.get('sheetNames').touched}"
          formControlName="sheetNames" id="sheetNames">
            <option *ngFor="let name of sheetNames; let i = index" [value]="sheetNames[i]">
              {{name}}
            </option>
          </select>
          <ng-template #loading>Awaiting data from uploaded file...</ng-template>
          <!-- <span class="form-text text-muted">Please choose which sheet contains the relevant data (Mandatory)</span> -->
          <div class="invalid-feedback">You need to select a sheet before continuing</div>
          <div class="kt-heading kt-heading--md mt-3">c. Categorise data from file</div>
-1
MortenNielsen 20 Ноя 2019 в 00:01

1 ответ

Выяснилось, что это был запрос на размещение, поэтому он не мог явно работать с возвратом/ответом от API (на самом деле вы можете использовать Params, но это обсуждение в другой день). Вместо этого изменил его на запрос на получение, что позволило мне работать с возвращаемыми данными так, как я хотел.

0
MortenNielsen 2 Дек 2019 в 20:26