1. #1
    Sencha User
    Join Date
    Feb 2011
    Location
    Düsseldorf, Germany
    Posts
    587
    Vote Rating
    32
    Answers
    35
    Kurt001 has a spectacular aura about Kurt001 has a spectacular aura about

      0  

    Default 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();
            }
        }
    }

  2. Move it to config not cachedConfig as it's then cached

  3. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    37,647
    Vote Rating
    899
    Answers
    3575
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    Move it to config not cachedConfig as it's then cached
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    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 in print!

    When posting code, please use BBCode's CODE tags.

Thread Participants: 1

Tags for this Thread