Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Adobe Flex SDK 4.1 (Release)
-
Affected OS(s): All OS Platforms
Affected OS(s): All OS Platforms
Browser: Firefox 3.x
Language Found: English
Description
Steps to reproduce:
1.Create a UI containing a spark ComboBox whose dataprovider can change based on user interaction
2.Select an item from the combobox
3. Change the dataprovider for the combobox to a collection that does not contain the selected item. For example if the selected index was 4 change the dataprovider to a collection with a length of 3 or less.
Actual Results:
The selectedIndex and selectedItem properties update as expected but the text in the textInput still displays it's original value.
Expected Results:
The text property of the textInput should be cleared or set to null if selectedItem is no longer valid.
Workaround (if any):
The problem is caused by the fact that the change to the dataprovider causes selectedItem to become undefined before the updateLabelDisplay() method of ComboBox is called. This will result in displayItem being undefined and thus prevent the update to textInput.text on line 677.
The workaround is to create a component that extends ComboBox and override the commitProperties() function. In the overridden function, check if selectedIndex == -1 and if so manually set the text to "" before calling super.commitProperties.