extJs 常用语法1

  • 生成树,并进行过滤,并且最后去掉监听器
  • var ctree = initDeployRelationTree(treeLoader);
    
    var f = function(n) {
    console.log(n.text);
    if (n.hasChildNodes() == false) {
      if (n.getUI().checkbox != null) {
      n.getUI().show();
       filter(n);
       } else {
      n.getUI().hide();
      }
    } else {
    n.getUI().hide();
    
    }
    };
    
    ctree.on('expandnode', f);
    ctree.on('collapsenode', function() {
    ctree.removeListener('expandnode', f);
    });
    ctree.expandAll();
    
    
    

  • 拿到grid组件,取值
  • var rec = Ext.getCmp('roleCreateGridId');
    var personName = rec.get('personName');
    

  • combobox使用
  • 创建下拉列表
    
    Ext.define('State', {
    	extend : 'Ext.data.Model',
    	fields : [ {
    		type : 'string',
    		name : 'id'
    	}, {
    		type : 'string',
    		name : 'name'
    	} ]
    });
    
    // 图表下拉列表定义
    var chartStates = [{
    	"id" : "line",
    	"name" : "折线图"
    },              
    {
    	"id" : "column",
    	"name" : "柱状图"
    }, {
    	"id" : "pie",
    	"name" : "饼图"
    }];
    
    // 图表下拉列表公共store
    function initStore(state, data) {
    	var store = Ext.create('Ext.data.Store', {
    		autoDestroy : true,
    		model : state,
    		data : data
    	});
    	return store;
    }
    
    // 生成图表下拉列表
    function initChartComboBox() {
    	var store = initStore('State', chartStates);
    	var simpleCombo = Ext.create('Ext.form.field.ComboBox', {
    		id : 'chartComboBoxId',
    		fieldLabel : '图表类型',
    		displayField : 'name',
    		valueField : 'id',
    		width : 120,
    		labelWidth : 60,
    		store : store,
    		queryMode : 'local',
    		typeAhead : true,
    		columnWidth : .33,
    		
    	});
    	return simpleCombo;
    }
    
    
    
    

    控制combobox
    var yBox = Ext.getCmp('displayYBoxId');
    var yvalues = [];
    yBox.setValue(yvalues);  //更换类型后,清空下拉列表
    

    select监听事件
    listeners : {
    			'select' : function(combo, records, eOpts) {
    				var yBox = Ext.getCmp('displayYBoxId');
    				 var record = records[0];
    				 chartType = record.get('id');
    				 var yvalues = [];
    				 yBox.setValue(yvalues);  //更换类型后,清空纵轴
    				if(record.get('id')=='pie'){
    				     yBox.multiSelect=false;
    				     yBox.setFieldLabel("展示字段");
    				}else{
    					 yBox.multiSelect=true;
    					 yBox.setFieldLabel("纵轴字段");
    				}
    			}
    		}
    


    你可能感兴趣的:(ExtJs)