OK Ich habe eine ComboBox, der dataProvider ist ein Array von Objekten mit Labeleigenschaften, die der ComboBox die Liste der Optionen geben.
Gibt es eine Möglichkeit, wie ich eine Variable wie mySelectedItem haben kann, und binde die ComboBox selectedItem an diese, so dass, wenn es sich ändert, das selectedItem der ComboBox zu was auch immer geändert wird?
Ich hoffe, das macht Sinn.
Danke!
Ja, die Eigenschaft selectedItem von ComboBox ist bindbar.
Es würde so etwas gehen:
%Vor%In Ihrem AS:
%Vor%Änderungen an mySelectedItem sollten in ComboBox angezeigt werden. Sie können Fehler erhalten, wenn das Element, auf das mySelectedItem verweist, nicht im DataProvider der ComboBox vorhanden ist.
Auf der Oberfläche ist es so einfach wie:
%Vor%Wenn Sie defaultItem (stellen Sie sicher, dass [Bindable] ist) für eines der Elemente im Datenprovider verwenden, wird das Steuerelement aktualisiert.
Aber es gibt Probleme mit diesem Ansatz. Sofern sich currentDefaultItem immer nach myDataProvider ändert, kann die Bindung an dataProvider die Auswahl rückgängig machen und zum Standardwert (erstes Element in der Liste) zurückkehren.
Eine Möglichkeit ist es, das selectedItem-Objekt nach dataProvider zurückzudrängen, indem Sie dataProvider in den Aufruf aufnehmen, der das selectedItem bereitstellt.
%Vor%Damit wird sichergestellt, dass "selectedItem" erneut ausgelöst wird, wenn sich currentDefaultItem ändert oder wenn sich der dataProvider ändert. Ich würde mich selbst für andere Lösungen interessieren.
Verwenden Sie einen Ereignis-Listener für das Change
-Ereignis und führen Sie Ihre Verarbeitung dort durch.
oder, Sie könnten so etwas tun, wenn es Ihnen nichts ausmacht ComboBox zu erweitern; Dies ist ein Pseudocode (Entschuldigung, die Identifizierung der Übereinstimmungen hängt vom Objekttyp ab) - aber Sie bekommen die Idee ...
%Vor%Ich weiß, dass dies in der Dokumentation beschrieben ist. Wie bei einer Änderung an dem ausgewählten Item wird der Change Listener ausgelöst. Aber für mich passiert das nicht. Hat noch jemand das gleiche Verhalten?
Tags und Links flex