2015-03-03 1 views
1

J'ai besoin de la capacité de multi-sélection pour l'entrée. Le problème est que les données proviennent dynamiquement du serveur pendant qu'un utilisateur tapote et si aucune donnée appropriée n'est trouvée, j'ai besoin de créer une nouvelle étiquette. Exemple de code: Getting addressesAngulaire: sélection de l'interface utilisateur. Marquage personnalisé avec la fonction `refresh`

exemple actuel ne montrent pas l'information dans l'étiquette et ne présentent pas de titre tagging-label="(custom 'new' label)" si de nouvelles informations sont entrées (par exemple, vous pouvez taper quelque chose comme « blablablabla », le serveur doit retourner rien)

Comment cela peut-il être géré? La solution de contournement où je peux enregistrer tous les résultats dans un tableau et travailler avec un tableau à la place du serveur ne fonctionne pas pour moi ...

Répondre

5

Lorsque vous utilisez multiple, vous devez user $ item dans le ui-select-match

Vous devez utiliser une fonction personnalisée pour créer les nouveaux éléments (comme "blablabla"). Vous faites cela dans l'attribut de marquage de ui-select

Le code que vous avez besoin est quelque chose comme ceci:

<ui-select multiple tagging="tagTransform" ng-model="myCompetences.competences" theme="bootstrap" ng-disabled="disabled" style="width: 800px;" title="Choose a person"> 
<ui-select-match placeholder="Select a address...">{{$item.formatted_address}}</ui-select-match> 
<ui-select-choices repeat="address in addresses track by $index" refresh="refreshAddresses($select.search)" refresh-delay="0"> 
<div ng-if="address.isTag" ng-bind-html="'<small>(new)</small>'"></div> 
    <small> 
    {{address.formatted_address}} 
    </small> 
</ui-select-choices> 
</ui-select> 

Vous avez ici les modifications dans votre exemple: http://plnkr.co/edit/CQkuSMQub9S81hSRueO1

Voici un plnkr avec des exemples utiles: http://plnkr.co/edit/m1SQXUxftBLQtitng1f0

Si vous souhaitez ajouter les informations à votre serveur ou quelque chose comme ça, je recommande d'utiliser le e-sélectionné évent.

+0

Merci pour votre aide et vos précisions! Cela fonctionne) –

+0

heureux d'aider :) – Panchitoboy