Extjs定义类的配置项

      //定义一个类
Ext.define('Person',{
config:{
name:'李四'
},
constructor:function(config){
    var me =this;
    me.initConfig(config);
},
// statics  定义类的配置项,属性不能被子类继承
statics:{
          id:"我是Person的id,属于静态代码,不能被继承"    
    },
    // 而inheritableStatics :与static类似,但是属性可以被子类继承
inheritableStatics:{
 code:"我也是静态代码,但是我可以被继承"
}
});
Ext.define('Boy',{
alias:'bb',/ /起一个别名
alternateClassName:'bbb',// 起一个备用的别名
   extend:'Person',//继承
config:{
 sex:'男',
 age:23
},
constructor:function(config){
  var me=this;
  me.initConfig(config);
}
});

var p= Ext.create('bbb',{
   name:'张三',
   age:12,
   sex:'男'
});
//注意!!!!实例对象是无法使用静态属性或者放、方法的,必须通过类名来调用
//alert(p.id);//undefined
//alert(p.code);
//alert(Person.id);
//alert(Person.code);
alert(Boy.id);
alert(Boy.code);
alert(p.name);
alert(p.sex);

alert(p.age);

//mixins:混入的概念,类似于多继承

//定义一个类
Ext.define('Person',{
  config:{
     saySong:function(){
        alert("我可以唱歌");
     }
  }
});
  Ext.define("Boy",{
       config:{
        saySing:function(){
          alert("我可以说唱");
        }
       }
  });

  Ext.define("Gril",{
       
    mixins:{
        sing:"Person",
        song:"Boy"
    }
       
  });
  
var gril=Ext.create('Gril');
gril.saySong();//我可以唱歌
gril.saySing();//我可以说唱


Ext.define 方法创建一个类使用到结束的过程(每一个类都会经历红色代码的过程)

1、开始(new)---->classname(类的名字)---->Loader(加载器)------>Extend(继承,如果没有配置继承,默认继承Ext.Base)----->。。。。。其他配置项



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ExtJS 提供了用于过滤数据的强大功能。你可以使用 Ext.util.Filter 来创建和应用过滤器。过滤器可以应用于 ExtJS 的各种数据组件,如 Grid、Tree 等。 要使用过滤器,首先你需要创建一个 Ext.util.Filter 的实例,指定过滤的字段、操作符和值。例如,如果你要过滤一个 Grid 的数据,你可以这样创建一个过滤器: ```javascript var filter = Ext.create('Ext.util.Filter', { property: 'name', // 过滤的字段名 operator: 'like', // 操作符(如:'=', 'like', '>', '<' 等) value: 'John' // 过滤的值 }); ``` 然后,你可以将这个过滤器应用到你的数据组件上,比如一个 Grid: ```javascript var grid = Ext.create('Ext.grid.Panel', { // 配置... store: myStore, // 绑定的数据源 columns: myColumns, // 列定义 viewConfig: { plugins: { ptype: 'gridviewdragdrop', dragGroup: 'firstGridDDGroup', dropGroup: 'secondGridDDGroup' }, listeners: { beforeitemcontextmenu: function(view, record, item, index, e) { e.stopEvent(menu.showAt(e.getXY())); return false; }, itemdblclick: function(gridView, record) { var rec = record.data; var id = rec.id; var name = rec.name; var age = rec.age; Ext.Msg.alert('双击', '您双击了 ' + name + ' 的记录'); } } }, features: [{ ftype: 'filters' // 使用 filters 特性 }] }); ``` 通过将 `features` 配置设置为 `[{"ftype":"filters"}]`,你就可以启用过滤功能。然后,你可以使用 Grid 的 `getPlugin()` 方法获取到 filters 插件,并调用 `addFilters()` 方法将过滤器添加到 filters 中: ```javascript var filters = grid.getPlugin('gridfilters'); filters.addFilters(filter); ``` 这样,过滤器就会应用到 Grid 的数据上,显示符合过滤条件的数据行。 这只是 ExtJS 过滤功能的基本用法,你还可以根据具体需求进行更复杂的过滤操作。详细的使用方法可以参考 ExtJS 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值