2016-08-08 43 views
1

Ich habe eine select innerhalb einer agGrid gerendert. Nichts außergewöhnlich kompliziert.Eckige Auswahl erzeugt weiterhin fehlende Standardoption

<select ng-model="data.stdPayerClassFnbr" ng-change="vm.save(data)" style="width: 100%" 
     ng-options="item.stdPayerClass for item in vm.payerClassList track by item.id"> 
</select> 

Die verrückte Sache ist das; Ich erhalte die fehlenden Wert Option:

<option value="?" selected="selected"></option> 

Auch wenn der Wert von data.stdPayerClassFnbr existiert in der Liste der Optionen gemacht:

<option value="1" label="TBD">TBD</option> 

Der zugrunde liegende Datentyp sowohl data.stdPayerClassFnbr und item.id ist int; Ich habe jedoch versucht, sie beide string durch Ausführen einer map gegen ihre Werte vor dem Binden sie. Das hat nicht geholfen. Ich muss diese select falsch konfigurieren.

Ich habe auch versucht die ng-repeat Ansatz:

<select ng-model="data.stdPayerClassFnbr" ng-change="vm.save(data)" style="width: 100%"> 
    <option ng-repeat="item in vm.payerClassList" value="{{item.id}}">{{item.stdPayerClass}}</option> 
</select> 

Dies auch nicht geholfen hat.

Antwort

0

Stellen Sie sicher, dass Ihr stdPayerClassFnbr Modellobjekt die gleichen Eigenschaften wie die payerClassList[x] Elemente hat. Vor allem Eigenschaften id und stdPayerClass

0

Ich habe das Problem gefunden. Es war der Ausdruck track by. Da ich an ein Array von Objekten gebunden war, die von einer Suche zurückkamen, suchte ich bei der Auswahl oder Suche nach einem Wert nach dem gesamten Objekt. Das Entfernen der track by Ausdruck veranlaßte die Bindung direkt auf dem numerischen Wert zu arbeiten:

<select ng-model="data.stdPayerClassFnbr" ng-change="vm.save(data)" style="width: 100%" 
     ng-options="item.id as item.stdPayerClass for item in vm.payerClassList"> 
</select> 

Dieses eine ganz andere Liste der Optionen erzeugt:

<option value="number:1" label="TBD" selected="selected">TBD</option> 

Ich hoffe, das jemand in der Zukunft hilft! Vielleicht hilft es mir sogar eines Tages!