Ich verwende ng2-select in meiner Vorlage zum Auswählen der Elemente, gibt es eine Schaltfläche mit dem Namen "Hinzufügen", die beim Klicken sollte ein anderes Auswahlfeld mit einer Liste anderer Kategorien von Elementen anzeigen. Dazu sieht die einfachste Version meines Codes wie folgt aus:Anhängen ng-select auf Schaltfläche klicken
@Component({
moduleId: module.id,
selector: 'client-user-detail',
templateUrl: `<div #one>
<ng-select #selectRole [allowClear]="true"
[multiple]="true" (data)="refreshValue($event)"
(selected)="onSelectRole($event)"
(removed)="removed($event)"
(typed)="typed($event)"
placeholder="Choose/Search">
</ng-select>
<button [disabled]="isDisable"
class="btn btn-default"
(click)="add()">
<i class=" fa fa-save"></i>
Add
</button>
`,
styleUrls: ['clientuserdetail.component.css']
})
export class TestComponent {
@ViewChild('selectRole') public select: SelectComponent;
@ViewChild('one') d1:ElementRef;
constructor(
private renderer: Renderer
) { }
add() {
let htmlText = `<ng-select #selectRole [allowClear]="true"
[multiple]="true" (data)="refreshValue($event)"
(selected)="onSelectRole($event)"
(removed)="removed($event)" (typed)="typed($event)"
placeholder="Choose/Search">
</ng-select>`;
this.renderer.invokeElementMethod
(this.d1.nativeElement,'insertAdjacentHTML',
['beforeend',htmlText]);
}
}
Der obige Code erstellt kein Auswahlfeld. Ich las irgendwo über Komponente Resolver kann in solchen Umständen nützlich sein, aber ich habe nicht klar verstanden, wie man es benutzt. Wenn es jemanden gibt, der mir einfach erklären kann, wie dieses Problem gelöst werden kann, werde ich sehr dankbar sein. Ich brauche eine klare Illustration darüber, wie die Komponenten in Winkel 2 dynamisch hinzugefügt oder angehängt werden können. Vielen Dank im Voraus.
Können Sie bitte versuchen, es mit einem einfachen Beispiel zu erklären? Danke –
Ich habe meinen Beitrag bearbeitet – Lejendarm
Ich frage nicht über die Rolle in Array schieben. Wonach ich frage, hängt das ng-select an. Wenn ich zum Beispiel zuerst ng-select für die Rollen von Anwendung 1 verwende, wenn ich auf die Schaltfläche Hinzufügen klicke, sollte der nächste ng-select an die erste angehängt werden und der zweite sollte Rollen für Anwendung 2 usw. enthalten über das Schieben der Rollen. Es geht darum, das Auswahlfeld anzuhängen. –