[
https://issues.apache.org/jira/browse/FLEX-33398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13582026#comment-13582026
]
Alex Harui commented on FLEX-33398:
-----------------------------------
Joao, that's exactly my reasoning for not doing it in the component. The
component only knows it is an ICollectionView or IList and therefore can only
execute a linear search. If you want to restore the selectedItem when changing
out the dataprovider, you should probably be using a data structure that
supports fast search to compute the new selectedIndex and then set
selectedIndex which is much faster than setting selectedItem. I would not want
to force every dataprovider reset do to a linear search.
> ComboBox loses selectedItem when dataProvider dispatch reset event
> ------------------------------------------------------------------
>
> Key: FLEX-33398
> URL: https://issues.apache.org/jira/browse/FLEX-33398
> Project: Apache Flex
> Issue Type: Bug
> Components: mx: ComboBox
> Reporter: João Fernandes
> Original Estimate: 1m
> Remaining Estimate: 1m
>
> During a reset Event, combobox does reset the selectedItem but doesn't
> respect the fact the current selectedItem might be included in the new source.
> What I propose is to change
> else if (ce.kind == CollectionEventKind.RESET)
> {
> collectionChanged = true;
> if (!selectedIndexChanged && !selectedItemChanged)
> selectedIndex = prompt ? -1 : 0;
> invalidateProperties();
> }
> to
> else if (ce.kind == CollectionEventKind.RESET)
> {
> collectionChanged = true;
> if (!selectedIndexChanged && !selectedItemChanged &&
> !collection.contains(selectedItem))
> selectedIndex = prompt ? -1 : 0;
> invalidateProperties();
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira