2015-08-07 9 views
5

Ich versuche, Angular-Formly zusammen mit winkligen ui-select mit $ http für Ergebnisse verwenden.angular-formly Problem mit ui-select

Die Optionen sollten aktualisiert werden, wenn der Benutzer eingibt. Wenn ich das Modell aus einer anderen Texteingabe einstelle, aktualisiert ui-select korrekt und zeigt die entsprechenden Ergebnisse basierend auf dem in das Textfeld eingegebenen Text an.

Wenn ich jedoch direkt in die UI-Select-Box tippe, bekomme ich keine Werte zurück und die Funktion templateOptions.options wird nicht ausgelöst und die $viewvalue wird nicht aktualisiert.

Ich habe auch keinen Zugriff auf die $select.search Ergebnisse, die aktualisiert werden, sind aber nicht in den expressionProperties verfügbar.

Bitte beachten Sie die folgenden JSBin, die den Fehler reproduziert:

http://jsbin.com/peducofaje/edit

ich Hilfe auf diesem schätzen würde.

+0

Dies funktioniert für neue Elemente, aber wenn Sie das Modell festlegen, funktioniert dies nicht, da die Optionen leer sind. Die Aktualisierung wird nicht ausgelöst, wenn das Modell festgelegt ist. – Andy

Antwort

4

Ich habe ein frühes Weihnachtsgeschenk für Sie. Ich habe the ui-select example aktualisiert genau, was Sie wollen :-) Ein paar Notizen darüber, warum Ihr nicht funktioniert:

  • expressionProperties nur ausgeführt werden, wenn die formState oder model Veränderungen, die eine Optimierung ist es, die Zahl der Beobachter zu reduzieren (weil sich alle expressionProperties einen einzigen Watcher teilen). Das Problem dabei ist, dass Ihr Modell erst aktualisiert wurde, nachdem eine Option ausgewählt wurde, also ja.
  • Die Vorlage war eine group-By, aber die templateOptions hatte keine groupBy. Sie können eine templateManipulator verwenden, um dynamisch eine group-by hinzuzufügen, wenn eine auf der templateOptions vorhanden ist, aber meine Lösung zeigt dies nicht.
  • Sie waren nicht der Fall, wo der Umgang mit Adresssuche

    auch leer

war, Check-out die Notiz an der Spitze:

// NOTE: This next line is highly recommended. Otherwise Chrome's autocomplete will appear over your options! 
formlyConfig.extras.removeChromeAutoComplete = true; 

Ich hoffe, dass dies hilfreich ist!

+0

Danke..Beachten Sie es. Es sieht, wie das jetzt funktioniert. – Andy

+0

Sie konnten keine bessere Hilfe finden – MacKentoch

+0

Dies funktioniert gut für neue Datensätze. Wenn Sie jedoch einen Datensatz bearbeiten, indem Sie das Modell auf vorhandene Werte setzen, wird die Aktualisierungsfunktion nicht ausgelöst. Kann mir jemand helfen, dies zu erreichen? – Andy