-
8 Jan 2013 1:46 AM #1
Answered: Custom Component only instantiates once
Answered: Custom Component only instantiates once
I have written a new component and it works fine if it is only created once (lazy instantiation).
But as soon as I create it a second time it won't run the applyItemsContainer.
What do I have to do to create a component twice and always run the applyItemsContainer?
Code:Ext.define('Ext.mgd.DropDown', { extend: 'Ext.Component', xtype: 'buttondropdown', config: { text: '', itemsArray: [] }, cachedConfig: { itemsContainer: { xtype: 'container', cls: 'x-dropdown-container', items: [] } }, template: [ { reference: 'buttonEl' }, { reference: 'dropdownEl', children: [ { reference: 'itemsEl' } ] } ], initialize: function () { var me = this; me.dropdownAnimation(); me.getItemsContainer().setItems(me.getItemsArray()); me.callParent(arguments); }, applyItemsContainer: function (config) { return Ext.factory(config, Ext.Container, this.getItemsContainer()); }, updateItemsContainer: function (newContainer, oldContainer) { if (newContainer) { newContainer.add(this.getItemsArray()); newContainer.renderTo(this.itemsEl); } else if (oldContainer) { oldContainer.destroy(); } } }
-
Best Answer Posted by mitchellsimoens
Move it to config not cachedConfig as it's then cached
-
9 Jan 2013 8:42 PM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 33,684
- Vote Rating
- 435
- Answers
- 3111
Move it to config not cachedConfig as it's then cached
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.


Reply With Quote