extjs fieldLabel无法隐藏的问题解决

extjs弹出窗口中,可能出现这种情况:通过选择下拉框中不同的选项,需要显示或隐藏某些特定的行,而hidden属性也许只能隐藏后面的textfield或combox等组件,其前面的fieldlabel无法隐藏,设置属性hidelabel:true,可能又会导致fieldlabel无法显示的问题。

效果图如下:

combox选择短信:

extjs fieldLabel无法隐藏的问题解决_第1张图片

combox选择呼叫:

extjs fieldLabel无法隐藏的问题解决_第2张图片

给动作类型组件增加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,由于后者只是设置不可见,如果隐藏的项在中间位置的话,中间会空出一行。


你可能感兴趣的:(extjs)