各位大侠 为什么最外面的container调用dolayout()有效【例子中的按钮事件】,而里面的子container调用doLayout()还是显示不出来呢【例子中的checkbox点击事件】。
代码如下:
<div id="div_viewport_hj60eY10"></div>
<script type="text/javascript">
try {
Ext.onReady(function() {
var viewport_viewport_hj60eY10= arale.Mashup.create('Ext.container.Viewport', {
    id: 'viewport_hj60eY10',
    renderTo: 'div_viewport_hj60eY10',
    items: [
        {
            xtype:'form',
            id: 'form_eKMf9eN0',
            items: [
                {
                    xtype:'container',
                    id: 'container_XOtNRFE5',
                    items: [
                        {
                            xtype:'container',
                            id: 'container_jBAny1JP',
                            layout: 'hbox',
                            items: [
                                {
                                    xtype:'container',
                                    flex: 1,
                                    id: 'container_AH01rBki',
                                    items: [
                                        {
                                            xtype:'textfield',
                                            fieldLabel: 'xx',
                                            id: 'textfield_Q8VGWWFZ',
                                            hideLabel: false,
                                            labelAlign: 'right'
                                        }
                                    ]
                                },
                                {
                                    xtype:'container',
                                    flex: 1,
                                    id: 'container_xEbyKHnI',
                                    items: [
                                        {
                                            xtype:'textfield',
                                            fieldLabel: 'xx2',
                                            id: 'textfield_Jtlol5A6',
                                            hideLabel: false,
                                            labelAlign: 'right'
                                        }
                                    ]
                                },
                                {
                                    xtype:'container',
                                    flex: 1.3,
                                    id: 'container_o8j9mle1',
                                    layout: {
    pack: "left"
},
                                    items: [
                                        {
                                            xtype:'checkboxgroup',
                                            fieldLabel: '申领情况',
                                            id: 'checkboxgroup_hOxD4iQF',
                                            allowBlank: true,
                                            width: 250,
                                            flex: 1,
                                            hideLabel: false,
                                            labelAlign: 'right',
                                            items: [
                                                {
                                                    xtype:'checkbox',
                                                    inputValue: '已申领',
                                                    id: 'checkbox_A',
                                                    name: 'isApply',
                                                    listeners: {
    'change': function (item, check) {
        var con = Ext.getCmp("container_sext9KOe"),
            condiv = Ext.getCmp("container_o8j9mle1");
        if (check) {
            //condiv.setHeight(54);
            con.show();        } else {
            //condiv.setHeight(27);
            con.hide();
        }
        condiv.doLayout();
    }},
                                                    labelAlign: 'right',
                                                    boxLabel: '已申领'
                                                },
                                                {
                                                    xtype:'checkbox',
                                                    inputValue: '未申领',
                                                    id: 'checkbox_B',
                                                    name: 'isApply',
                                                    labelAlign: 'right',
                                                    boxLabel: '未申领'
                                                }
                                            ]
                                        },
                                        {
                                            xtype:'container',
                                            id: 'container_sext9KOe',
                                            hidden: true,
                                            items: [
                                                {
                                                    xtype:'textfield',
                                                    fieldLabel: '申领人',
                                                    id: 'textfield_OaFKfB7B',
                                                    name: 'applierId',
                                                    hideLabel: false,
                                                    labelAlign: 'right'
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            xtype:'container',
                            id: 'container_wFLvKPOH',
                            items: [
                                {
                                    xtype:'combo',
                                    queryMode: 'local',
                                    fieldLabel: 'select',
                                    id: 'combo_S10SGote',
                                    hideLabel: false,
                                    labelAlign: 'right',
                                    store: arale.Mashup.create('Ext.data.Store', {data: [{"abbr":"AL","name":"Alabama"},{"abbr":"AK","name":"Alaska"},{"abbr":"AZ","name":"Arizona"}],fields:["abbr","name"]})
                                }
                            ]
                        },
                        {
                            xtype:'container',
                            id: 'container_FeY7OidK',
                            hidden: true,
                            items: [
                                {
                                    xtype:'textarea',
                                    fieldLabel: 'textarea',
                                    id: 'textarea_teGgYpzf',
                                    hideLabel: false,
                                    labelAlign: 'right'
                                }
                            ]
                        }
                    ]
                }
            ],
            dockedItems: [
                {
                    xtype:'toolbar',
                    dock: 'bottom',
                    id: 'toolbar_aGe94jqA',
                    items: [
                        {
                            xtype:'button',
                            id: 'button_NPeCZL4W',
                            listeners: function () {
    alert(0);
    var con = Ext.getCmp('container_jBAny1JP');
    con.add(new Ext.form.TextField({
        name: 'aaa',
        value: '',
        fieldLabel: 'aaa',
        labelAlign: "right"
    }));
    con.doLayout();
},
                            handler: function (button, event) {
    var con = Ext.getCmp('container_XOtNRFE5');
    var con2 = Ext.getCmp('container_FeY7OidK');
    con2.show();
    con.add(new Ext.form.TextField({
        name: 'xxx',
        value: '',
        fieldLabel: 'xxx',
        labelAlign: "right"
    }));
    con.doLayout();
}
                        }
                    ]
                }
            ]
        }
    ]
});});
}catch(ex){
Ext.Msg.alert("error","脚本执行过程中,出现异常!");
}
</script>