-
22 Feb 2012 10:19 AM #1
Answered: How to correctly replace the contents of a list?
Answered: How to correctly replace the contents of a list?
I have a panel with a list view. In the panel's activate event I set the list view's data like so:
This works as expected. However, I've added the panel to a navigation view and if I pop back to this panel, the activate event is fired again. This has the rather strange effect, that the list gets additional entries. I would have guessed that setting the data property will replace the current entries, not add them.Code:activate: function() { var me = this; Ext.Ajax.request({ url: 'data/sites.json', success: function(response) { me.child('list').setData(JSON.parse(response.responseText)); } }) }
Is this a bug in Sencha Touch 2.0 beta 3 or am I don't something wrong here?
Each time, I push and pop another panel on top of this panel, the list gets longer.
Stefan
-
Best Answer Posted by sma
Looking into the source, the intended behavior is indeed to add the data, not to replace it. I'm now using a Ext.data.Store instance to wrap my data and it works.
Stefan
-
22 Feb 2012 12:59 PM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 33,714
- Vote Rating
- 436
- Answers
- 3113
You should really be adding/removing data from the store not the list.
Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.
-
23 Feb 2012 6:06 AM #3
Looking into the source, the intended behavior is indeed to add the data, not to replace it. I'm now using a Ext.data.Store instance to wrap my data and it works.
Stefan


Reply With Quote