Intégrer Select2 dans le Angular2 app
Je suis en train d'intégrer Select2
dans le Angular2
application que je suis en train de construire. J'ai réussi à obtenir select2
en cours d'exécution et mes multiples sélectionne sont transformés comme prévu. Mon problème maintenant est de savoir comment je suis censé trouver les valeurs sélectionnées et l'événement qui dois-je utiliser pour la liaison. J'ai essayé de liaison (change)
événement sur l'élément select, mais rien ne s'est passé. Je devrais peut-être utiliser un autre événement sur le créé par le plugin select2-container
élément?
Le select2
plugin est intégré suivant cette réponse.
Quelqu'un essayait de mélange semblable? Est-il possible de le faire fonctionner ou je dois passer à ng2-sélectionnez directive à la place?
Mise à jour
Question Bonus 🙂 Même si j'abandonne select2
et de l'utilisation standard de la sélection multiple, comment pourrais-je obtenir sa valeur? J'ai essayé de l'attacher à une propriété avec [(ngModel)]="_selectedValues"
mais il reste vide lorsque je sélectionne une option. Est les multiples case la seule façon pour un choix multiple?
Mise à jour 2
Pour la question bonus - la solution de contournement que j'ai trouvé est d'utiliser une voie de liaison d'événement comme (change)="selectedValues=$event.target.selectedOptions"
. Ensuite, j'ai ajouté un setter
pour la selectedValues
propriété comme cela:
public set selectedValues(value: Array<any>) {
this._selectedValues.length = 0;
for(let v of value){
this._selectedValues.push(v.value);
}
};
OriginalL'auteur Radoslav Stoyanov | 2016-03-23
Vous devez vous connecter pour publier un commentaire.
La seule solution de travail pour la
select2
j'ai trouvé, c'est d'avoir la valeur avec jQuery dans lengAfterViewInit
méthode comme ceci:Donc mon code ressemble à ceci:
Et dans le modèle:
Espère que cela permettra de sauver la vie de quelqu'un un jour 🙂
J'ai juste ajouté dans le point d'entrée de mon appli - dans mon cas, le index.html comme ceci:
<script src="node_modules/jquery/dist/jquery.min.js"></script> <script src="node_modules/select2/select2.min.js"></script>
Merci pour votre réponse. Une idée de comment faire jQuery sélectionnez 2 compatible avec Angulaire http et observables?
Dans la dernière version de Anguleuses il convient de <option *ngFor="let domaine de _availableFields" [valeur]="champ">{{domaine}}</option>
Oui, je sais, il y a quelques différences entre les versions de Anguleuses, mais la question et la réponse ont été sur Angular2, qui a utilisé une syntaxe comme celle-ci 🙂 Merci pour le commentaire 😉
OriginalL'auteur Radoslav Stoyanov
J'ai fait ma propre mise en œuvre, avec des options, la valeur, et la disposition des éléments en Entrée les paramètres de mon composant. C'est ma première version de celui-ci, il pourrait être très flexible et augmentée assez facilement.
Et vous pouvez l'appeler comme ça
OriginalL'auteur S.Galarneau