ExtJS4 textfield msgTagert=side显示和以前不一样

 

  1. 问题现象多说无益,有图有真象:)


  2. 详细代码可以看, ExtJS 包中的例子:/examples/form/dynamic.html
    Example: Form 1 - Very Simple
  3. Fixed:请去掉logger.info这一行,这个logger是我自己定义的仿造日志货
    if (Ext.versions.extjs.getMajor() == 4) {
    	Ext.Loader.require('Ext.layout.component.field.Field', function() {
    		logger.info('修复form.Field在msgTarget=side时的width显示变化的bug');
    		
    		Ext.layout.component.field.Field.prototype.errorStrategies.side.getErrorElWidth = function(owner) {
    			if (owner.autoFitErrors && owner.hasActiveError()) return owner.errorEl.getWidth();
    
    			if (!this.errorElWidth) {
    				var errorEl = owner.errorEl,
    	    			display = errorEl.getStyle('display');
    	    		if (display == 'none') errorEl.setDisplayed(true);
    	
    	    		this.errorElWidth = errorEl.getWidth();
    	    		if (display == 'none') errorEl.setDisplayed(false);
    			}
    			
    			return this.errorElWidth;
    		};
    		
    		Ext.layout.component.field.Field.prototype.errorStrategies.side.prepare = Ext.Function.createSequence(
    			Ext.layout.component.field.Field.prototype.errorStrategies.side.prepare,
    			function(owner, info) {
    	            if (info.autoWidth) info.width += this.getErrorElWidth(owner);
    			}
    		);
    			
    		Ext.layout.component.field.Field.prototype.errorStrategies.side.adjustHorizInsets = function(owner, info) {
                info.insets.right += this.getErrorElWidth(owner);
            };
    	});
    	
    }
     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值