求助ext的doLayout问题
各位大侠 为什么最外面的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>