2017-07-04 2 views
0

Ich habe ein Problem mit p-Drop-Down-Modul in Primeng und Angular 4.PrimeNg p-Drop-Down-Modul nicht erweitern nicht

I Optionen mit Werten aus Schleife gefüllt haben:

for(let i = 1; i <= 20; i++) { 
      this.iterations = [... this.iterations, { label: i, value: i}] 
     } 

und ich versuche, um es in meiner Vorlage zu verwenden:

<p-dropdown [options]="iterations"></p-dropdown> 

Das Problem ist, dass Dropdown nur den ersten Wert anzeigt (in diesem Fall '1'). Wenn ich das 'Iterations' Array überprüfe oder das Iterations Array statisch setze, bleibt das Problem bestehen. Ich glaube, ich habe das Modul korrekt in mein Modul eingefügt. Ist das Dropdown-Modul von anderen Modulen abhängig?

import {DropdownModule} from 'primeng/primeng' 

// edit Ich fand, dass es etwas mit dem Modul HTML-Teil sein kann. Schauen Sie sich Bild unten

enter image description here

Grüße

+0

Haben Sie BrowserAnimationsModule importiert in Sie app.module.ts wie diese 'Import {BrowserAnimationsModule} von '@ Winkel/Plattform-Browser/Animationen';'. Fügen Sie das Modul im Import-Array von @ngmodule Decorator hinzu. Auch Iterations-Arrays sollten vom Typ SelectItem sein, wobei label nicht Integer, sondern nur String sein kann. – TimeTraveler

+0

@TimeTraveler Ich erhalte eine Fehlermeldung: Fehler: BrowserModule wurde bereits geladen. Wenn Sie Zugriff auf allgemeine Anweisungen wie NgIf und NgFor von einem Lazy Loaded-Modul benötigen, importieren Sie stattdessen CommonModule. –

+0

Animationsmodul ist ein Muss-Import für einige Komponente in Primeng zu arbeiten, weil diese Comp Winkelanimation verwenden, dies ist deutlich auf primeng Setup-Dokumentationsseite angegeben. Der Fehler hängt davon ab, wo Sie BrowserModule importieren. Überprüfen Sie [this-link-to-question] (https://stackoverflow.com/questions/39286667/browsermodule-has-already-been-loaded-error), um Hilfe zu erhalten. Je nach Thread müssen Sie möglicherweise den Import von BrowserModule von allen anderen Orten entfernen. – TimeTraveler

Antwort

0

Sie SelectItem in der Komponente importieren müssen

import {SelectItem} from 'primeng/primeng' 

und die Objekte müssen diese Schnittstelle

<p-dropdown [options]="iterations"></p-dropdown> 

wo Iterationen implementieren ist das Array von SelectItem

iterations: SelectItem[]; 

Es ist die Komponente

iterations: SelectItem[]; 

selectedIteration: string; 

ngOnInit() { 
    this.iterations = []; 
    for(let i = 1; i <= 20; i++) { 
     this.iterations.push({ label: i.toString(), value: i.toString() }); 
    } 
} 
+0

es hilft nicht :( –

Verwandte Themen