1

I'm working on a angular 6 project where in i want to display the key as a label and the values in select option. I have used the below code to generate the output, but it doesn't seem to work. The code used for my previous project worked fine, i want the output to be similar but with angular 6.

code in my component.ts

headerMapper(){      
  this.clientService.getHeaders().subscribe(
    res=>{
      let resSTR = JSON.stringify(res);
      let resJSON = JSON.parse(resSTR);
      let str=resJSON._body;
      this.mapper = Object.keys(JSON.parse(str)).map(arr => {
        return `${arr}: ${JSON.parse(str)[arr].join(', ')}`;
      });
      console.log(this.mapper);
      this.ismapped=false;
    }
  );
}

code in my html

<div>
  <p *ngFor="let element of mapper">{{element | json}}</p>
  <form *ngFor ="let map of mapper">
    <mat-form-field>
      <mat-select placeholder="{{map}}">
        <mat-option>None</mat-option>
        <mat-option *ngFor="let option of map"  [value]="option">{{option}}</mat-option>
      </mat-select>
    </mat-form-field>
  </form>
</div>

code used for my previous project.

<c:forEach var="entry" items="${headerColumns.entrySet()}">
  <div class="input-group pt-2">
    <label class="col-lg-2 col-form-label">${entry.key}</label>
    <div class="col-lg-10">
      <form:select path="${entry.key}" class="form-control col-lg-5">
        <form:option value="-1" label="--- select ---" />
        <form:options items="${entry.value}"></form:options>
      </form:select>
    </div>
  </div>
</c:forEach>
1

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.