--找了半天,终于在官方网站上找到答案
http://www.sencha.com/forum/showthread.php?25479-2.0.1-2.1-Field.destroy%28%29-on-Fields-rendered-by-FormLayout-does-not-clean-up.&p=120152#post120152
//延时完成时间 var layFinishDatetime=new Ext.form.DateField({ id:"layFinishDatetime", name:"layFinishDatetime", width:200, fieldLabel:"延时完成时间", format:"Y-m-d", value:new Date(), hidden:true }); /* fieldLabel随DateField,TextField....控件的显示而显示,隐藏而隐藏 需要下面方法 官方网站:http://www.sencha.com/forum/showthread.php?25479-2.0.1-2.1- Field.destroy%28%29-on-Fields-rendered-by-FormLayout-does-not-clean-up.&p=120152#post120152 */ Ext.override(Ext.layout.FormLayout, { renderItem : function(c, position, target){ if(c && !c.rendered && (c.isFormField || c.fieldLabel) && c.inputType != 'hidden'){ var args = this.getTemplateArgs(c); if(typeof position == 'number'){ position = target.dom.childNodes[position] || null; } if(position){ c.itemCt = this.fieldTpl.insertBefore(position, args, true); }else{ c.itemCt = this.fieldTpl.append(target, args, true); } c.actionMode = 'itemCt'; c.render('x-form-el-'+c.id); c.container = c.itemCt; c.actionMode = 'container'; }else { Ext.layout.FormLayout.superclass.renderItem.apply(this, arguments); } } }); Ext.override(Ext.form.Field, { getItemCt : function(){ return this.itemCt; } });
if(AdditionalScore<0.00&&CheckStatus=="3-待审核"||CheckStatus=="7-审核不通过") { layFinishDatetime.show(); } else { layFinishDatetime.hide(); }
本文介绍了如何在ExtJS中优化表单布局,包括自定义渲染方法和字段清理方法,确保了DateField等控件的fieldLabel能正确显示和隐藏,并提供了一个具体的日期字段展示案例。
672

被折叠的 条评论
为什么被折叠?



