Ich bin auf der Suche nach einem Dropdown-Komponente für Angular2 ohne Abhängigkeiten außer Angular2 selbst auswählen. alle die Komponenten, die ich benötige jquery gefunden oder ich habe es zu verwenden, ohne andere Abhängigkeiten als Angular2 selbstSuche nach Dropdown-Komponente für angular2
Antwort
eine benutzerdefinierte Dropdown-Liste erstellen nicht so große Sache ist. Außerdem ist es so leicht wie möglich. Alles, was Sie tun müssen, ist:
- die Liste Klick sichtbar machen aus den übergebenen Daten eine Liste von Elementen erstellen und wieder auszublenden, wenn ein Listenelement
- Emit die Daten ausgewählt wird, wenn ein Element ausgewählt
Dies ist im Grunde alles, was Sie brauchen:
@Component({
selector: 'custom-select',
template: `
<div class="selected" (click)="openClose()">
<div class="when-selected" *ngIf="selected">
<span>{{selected.title}}</span>
<img [src]="selected.img" />
</div>
<div class="placeholder" *ngIf="!selected">
This is shown when nothing is selected
</div>
</div>
<ul class="select" [hidden]="closed">
<li *ngFor="let o of options" (click)="select(o)">
<span>{{o.title}}</span>
<img [src]="o.img" />
</li>
</ul>
`
})
export class CustomSelect {
@Input() options: any;
@Input() selected: any;
@Output() selectedChange: EventEmitter<any> = new EventEmitter();
closed: boolean = true;
select(option: any): void {
this.selected = option;
this.selectedChange.emit(option);
this.openClose();
}
openClose(): void {
this.closed = !this.closed;
}
}
Und Sie verwenden es wie folgt :
<custom-select [(selected)]="myItem" [options]="allOptions"></custom-select>
Hier ist die gesamte plunker
jetzt nur Sie es um Stil müssen und vielleicht die Elementstruktur zu etwas ändern, die zu Ihnen passt.
Danke Filip, es ist interessant. Ich benutze bereits ng2-select Ich bin zufrieden mit dem Rendering, aber ich weiß nicht, wie ich das Element erhalte, das ich auswähle. Vielleicht muss ich den ausgewählten Wert in einer versteckten Eingabe setzen. – imtah
Was meinst du? Das ausgewählte Element wird in der myItem-Eigenschaft der übergeordneten Komponente gespeichert. Kannst du mir ein Beispiel geben, wie du es benutzen willst? –
- 1. angular2 Suche in Sicht
- 2. angular2 Suche mit Loopback
- 3. location.path() für Angular2?
- 4. d3js importiert nach angular2
- 5. Angular2 Redirect nach Login
- 6. Suche nach nicht-kommerziellen Lizenz für Quellcode
- 7. Suche nach IDE Farbschemen speziell für Programmierer
- 8. Mit foreach für die Suche nach PHP
- 9. LDAP-Filter für die Suche nach Studenten
- 10. Suche nach einem Download-Speicherort für XSDClassGen
- 11. benötigen Kriterien für die Suche nach folgenden
- 12. MySQL COUNT ??? Hilfe für die Suche nach
- 13. Was für die Suche nach isolierten Untergruppen
- 14. Suche nach fehlenden Staats Combinator für Objektiv
- 15. Zeit für die Suche nach Verschlüsselungen
- 16. Suche nach anderen Quellen für Rubygem
- 17. Allgemeines Hilfsprogramm für die Suche nach Ausnahmesituationen
- 18. Ersatz für Google AJAX-Suche nach Local
- 19. Suche nach der Fehlerseite für 404
- 20. Suche nach mehreren Lösungen für "8 Queens"
- 21. Suche nach einer grundlegenden Verschlüsselungsroutine für js
- 22. Suche nach Verfügbarkeit nach Zeit
- 23. Suche nach einer Objektdatenbank
- 24. Suche nach Design-Muster
- 25. Suche nach "is_comparable" typetit
- 26. Suche PyPI nach Thema
- 27. asp.net Suche nach Datei
- 28. Suche nach Hash?
- 29. Suche nach WinForms Datagridview
- 30. Suche nach Rewrite-Regeln
Nicht sicher, ob es andere Bibliothek verwendet, aber Sie können es sich ansehen: http://www.primefaces.org/primeng/#/dropdown –
Muss es nur ein einfaches Dropdown sein, das Objekte und Anzeigen behandelt ein einzelnes Textfeld zum Auswählen. Oder brauchen Sie Funktionalität wie benutzerdefinierte Bilder im Dropdown, Kontrollkästchen ... –
Sie können Angular Material verwenden: https://material.angularjs.org/latest/ - technisch ist es eine andere Abhängigkeit, aber es ist immer noch Teil der Angular "Familie" –