extjs弹出窗口中,可能出现这种情况:通过选择下拉框中不同的选项,需要显示或隐藏某些特定的行,而hidden属性也许只能隐藏后面的textfield或combox等组件,其前面的fieldlabel无法隐藏,设置属性hidelabel:true,可能又会导致fieldlabel无法显示的问题。
效果图如下:
combox选择短信:
combox选择呼叫:
给动作类型组件增加listeners属性,
代码如下:
xtype : "combo",
id : 'acttype',
width : 150,
editable:false,
mode :'local',
typeAhead: true,
triggerAction: 'all',
displayField : 'acttype_name',
valueField : 'acttype_id',
selectOnFocus : true,
fieldLabel : '动作类型',
store:new Ext.data.ArrayStore({
fields:['acttype_id','acttype_name'],
data:[[0,'短信'],[1,'呼叫']]
}),
listeners : {
'select':function(){
Ext.getCmp('smspresetid').getEl().up('.x-form-item').setDisplayed(false);
}
}
属性调用选择setDisplayed,而不用setVisible,由于后者只是设置不可见,如果隐藏的项在中间位置的话,中间会空出一行。