2017-07-27 6 views
0

Ich habe https://ng-bootstrap.github.io/#/components/typeahead/api Komponente mit Folowing Erklärung:ng-Bootstrap-typeahead ausgewähltes Objekt

<ng-template #rt let-r="result" let-t="term"> 
     <span class="device"> 
      <span class="grayout">{{r?.manufacturer.name}}</span> {{ r?.modelName}}, 
       <span class="grayout"> {{ r?.year}}, {{r?.operatingSystemVersion.operatingSystem.name}} {{r?.operatingSystemVersion.name}}, {{ r?.note}} </span> 
     </span> 
     <span class="deviceStats"> 
      <span class="grayout">{{r?.blockedCount}}x blocked</span> 
     </span> 
    </ng-template> 

    <input id="typeahead-template" type="text" class="form-control" [(ngModel)]="model" [ngbTypeahead]="search" [resultTemplate]="rt" 
      [inputFormatter]="formatter" placeholder="Search model, manufacturer, operating system, operation system version, serial number, code etc." /> 

Und Komponentencode:

export class HomeComponent implements OnInit { 
    account: Account; 
    modalRef: NgbModalRef; 
    userReservations: Reservation[]; 
    model: Device; 
    searching = false; 
    searchFailed = false; 

    search = (text$: Observable<string>) => 
     _do.call(
      switchMap.call(
       _do.call(
        distinctUntilChanged.call(
         debounceTime.call(text$, 300)), 
        () => this.searching = true), 
       term => 
        _catch.call(
         _do.call(this.deviceService.search(term),() => this.searchFailed = false), 
         () => { 
          this.searchFailed = true; 
          return of.call([]); 
         } 
        ) 
      ), 
      () => this.searching = false); 

Also im Grunde json Antwort enthält Gerät []. Liste mit vorgeschlagenen Optionen funktioniert korrekt, weil Vorlage verwendet wird und dort kann ich auf Eigenschaften zugreifen, aber wenn ich eine Option in der Eingabe auswähle, gibt es [Objekt Objekt] -Wert. ist möglich, z. toString() -Methode von Device-Objekt?

Vielen Dank.

Antwort

1

Es gibt inputFormatter dafür.

Verwandte Themen