EXTJS4 开发折腾点

(1)动态修改对象的 items, 如用 myPanel.add(item).doLayout(),其中的 item 一定要设置ID。

...
			addItems : function(records) {
				for (var i = 0; i < records.length; i++) {
					var rec = records[i];
					var category = rec.get('code');
					var catePanel = Ext.create('Ext.Panel', {
								id : 'categroiesview-' + rec.get('code'),
								width : 250,
								title : rec.get('name'),
... ...
							});
					this.add(catePanel);

				};
			},
...
 

(2)按钮中文字有多行,想要实现多行和单行的按钮高度一样,中间的文件垂直居中,通过 afterrender 事件调用 defer 方式设置文本的 line-height,根据字数长度计算出每行的行高,再设置行高,能达到目的。

	var buttonf = function(id, value, icons, record) {
		var lineCount = Math.ceil(value.length / 24);
		var lh = Math.ceil(40 / lineCount);
		var btn = new Ext.Button({
... ...
					__textLineHeight : lh,
					__resetLineHeight : function() {
						var els = Ext.get(ids + '-btnInnerEl', true);
						els.setStyle('lineHeight', this.__textLineHeight + 'px');
					},
					listeners : {
						afterrender : function(cmp, eOpts) {
							Ext.defer(this.__resetLineHeight, 1, this, []);
						}
					}
 


 

猜你喜欢

转载自cnmqw.iteye.com/blog/1541869