下拉选择颜色的扩展组件

今天工作需要写了一个Ext的下拉选择颜色的组件,扩展了combo,增加一个colors的属性,属性写的很死,不太严谨,先拿出初稿,欢迎批评,指正!

Ext.ux.ColorPickerCombo =  Ext.extend(Ext.form.ComboBox, {
	/**
	 * 添加的颜色列表
	 * **/
	colors:[],
	hiddenName : 'id',
	typeAhead : true,
	triggerAction : 'all',
	lazyRender : true,
	editable : false,
	mode : 'local',
	valueField : 'id',
	displayField : 'name',
	initComponent: function(){
		var colors = this.colors;
		var data = [];
		for (var i = 0; i < colors.length; i++) {
			var o = new Object();
			o.id = colors[i];
			o.name = '<a href="#" class="color-"'+colors[i]+' hidefocus="on"><em><span style="background:#'+colors[i]+';" unselectable="on">&#160;&nbsp;&nbsp;&nbsp;</span></em></a>'
			data.push(o);
		}
		this.store = new Ext.data.JsonStore({
				fields : ['id', 'name'],
				data : data
			})
		Ext.ux.ColorPickerCombo.superclass.initComponent.call(this);
	}
});

 

你可能感兴趣的:(工作,ext)