MXML binding has always been problematic and very often you'll lose the binding
at some point. For me binding utils has been much more reliable.
Regards,Yang
To: flexcoders@yahoogroups.com
From: nic...@gmail.com
Date: Mon, 19 Mar 2012 02:41:27 +
Subject: [flexcoders] Re: Bindings on visual components being forgotten?
(Flex 3 - 4.6)
I haven't tried explicitly re-setting the value manually or with
BindingUtils, but that's something I'll try now! Should still be working
without that.
I have a feeling the problem is actually in the display logic of the
component. Like perhaps some built-in efficiency code to ignore binding
updates when it's hidden. But I'll have to deep-dive a little further to
verify that. It's more likely something I'm missing or doing wrong.
--- In flexcoders@yahoogroups.com, yang chen chenyang3@... wrote:
Have you tried using binding util?
To: flexcoders@yahoogroups.com
From: nick14@...
Date: Fri, 16 Mar 2012 20:08:47 +
Subject: [flexcoders] Bindings on visual components being forgotten?
(Flex 3 - 4.6)
Seeing a strange, rare, issue after updating an app to 4.6. I can't seem
to reproduce it in a dev environment, so I'll list out my issue and setup
to see if it sounds familiar to anyone.
The problem:
Visual components seem to occasionally forget the objects they're bound
to. For instance, I have something like this:
s:DropDownList
id=cmbMonth
dataProvider={model.months}
selectedItem=@{model.selectedMonth}
/
s:Label text={model.selectedMonth} /
When the problem occurs, the selectedMonth in the label component is
correct, say, February. But the DropDownList will display a blank. Even
though the DropDownList contains all the months, meaning models.months is
bound correctly.
I tried adding:
requireSelection=true
The addition changed the behavior. No more blanks! But now, instead of
blanks, selectedMonth is showing something random like May.
Background:
App has been in production in various versions of Flex 3 for two years
without ever seeing this. Upgrading to Flex 4 and swapping out some Halo
components with equivalent Spark ones, users, myself included, began
noticing this phenomenon. I cannot seem to reproduce it in a reliable
fashion. But I've gotten some feedback based on some attempted fixes
pushed out to users.
Troubleshooting so far:
Since it normally works, there's no super-obvious things missing, like an
uninitialized pointer, missing Bindable tag, accidental = assignment
instead of == comparison, etc.
Also, we know the variable references are pointing to the correct place.
model.selectedMonth is showing up fine for a label just underneath the
dropdown. model.months is being referenced just fine by the dropdown
itself. It's just the display of model.selectedMonth in the dropdown.
Upon saving, the model.month property correctly propagates itself to the
DB, even when the dropdown is displaying the wrong value. Switching
between one-way and two-way bindings don't seem to make a difference
either. I noted above that I tried forcing requireSelection=true,
which does prevent the DropDownList from being blanked-out, but doesn't
force it to stay on the correct value.
I thought it might be related to just the DropDownList component, but the
problem is also occurring on s:TextInput's text property. Seems like
when it happens with the TextInput component (showing a blank value),
it's doing so for all the TextInput components. I'm not so sure if it's
happening for all DropDownList elements, though.
App setup:
I have an mx:ViewStack attached to hide/show effects with two containers
inside (loggedOff/loggedOn), and a TabNavigator within that. I think the
problems are only occurring after switching between states for the
ViewStack. So after the components are hidden and come back. I
remembered back to the Flex 2 ViewStack issue where bindings didn't
refresh, and added the old workaround to my code:
change=executeBindings(true)
This didn't fix it. Anything else I can look at or try? Anyone else
experience this before? Any chance it's related to the framework instead
of my code?
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Alternative FAQ location:
https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
Search Archives:
http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
Links
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Alternative FAQ location: