我想构建一个插件,它将在Ext.Grid上运行并允许对其执行一些操作(添加新行,在某些事件上更新它们等)我的插件应该扩展哪种类型的组件取得最佳效果?ExtJS Grid的构建插件
回答
ExtJS的电网提供的添加功能两种方式:
- 插件
- 特点
插件:插件为组件提供自定义功能。 ExtJS 4引入了这个系统,开发人员可以将自定义功能注入到组件中。它使用网格类的plugins
属性指定为对象或对象数组。
基本上,一个插件是一个ExtJS类,通常不需要扩展任何ExtJS类。插件类的必需部分是,它应该有一个插件系统调用来初始化插件的方法init
。这个方法应该带一个参数(这将是对你的网格的引用)。 init方法应该配置所有的自定义事件(如果有的话)或挂接方法来侦听事件。
下面是一个示例骨架代码:
Ext.define('Ext.ux.grid.MyPlugin', {
alias: 'plugin.ux.muplugin',
init: function(grid) {
// init events and add listeners...
},
customFunction: function(par1, par2) {
// some code...
},
});
特点:特征是一种类型的插件,其仅可用于网格面板。功能的基类是Ext.grid.feature.Feature
。如果您计划创建功能,则需要扩展此类。
这里有一个例子:
Ext.define('Ext.grid.feature.MyFeature', {
extend: 'Ext.grid.feature.Feature',
alias: 'feature.myfeature',
// other methods..
});
这应该帮助您开始。
如果你研究给定的插件src/grid/plugin/*
,它们没有专门扩展像Ext.form.field.*
那样的基类。所以,imo,这必须与你需要达成的目标相关。
例如,既RowEditing
和CellEditing
延伸Editing
作为其基类有编辑网格店的能力,而HeaderReorder
和HeaderResizer
只是扩展Ext.util.Observable
所以要实现共同的事件处理。
最好的办法是扩展Ext.util.Observable
如果在Ext的任何给定类中没有实现任何功能,那么至少你仍然可以启动一些事件。
插件不过是一组添加到Grid对象的函数。纠正我,如果我错了;)
Sencha的文档指出用户实现的插件应该继承自Ext.AbstractPlugin,根据@Asky的回答。请参阅http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.AbstractPlugin – mwoodman 2013-08-12 16:23:00
插件是跨组件共享的可重用功能。所有的EXTJS插件都应该继承Ext.AbstractPlugin
- 1. ExtJs Grid多个相同的插件
- 2. ExtJS 3 grid autowidth
- 3. ExtJs 4 Grid Paging
- 4. Extjs grid sorting
- 5. Extjs 5 grid group Sorting
- 6. 在ExtJS Grid Panel上滚动事件?
- 7. 构建IntelliJ插件的Maven插件
- 8. 从extjs grid输出excel
- 9. 与extjs grid并行执行
- 10. ExtJS Paging Grid不会前进
- 11. ExtJS Grid不加载数据
- 12. Extjs Grid分页栏问题
- 13. Extjs 4 Grid悬停效应
- 14. ExtJS Grid Paging行选择
- 15. Extjs 4 Grid查找列
- 16. 没有插件的Grails + EXTJS
- 17. 如何创建像JqGrid中的ExtJS Grid工具栏搜索
- 18. 构建Android Webkit插件?
- 19. Maven 2插件,构建+ surefire
- 20. 构建一个Wordpress插件
- 21. Eclipse插件构建问题
- 22. ExtJS 4 - Grid - 禁用特定列的rowselection
- 23. 滚动到ExtJS Grid中的选择
- 24. Grid内部的ExtJS组合框
- 25. extjs grid中的混合排序
- 26. ExtJs Grid面板中的日期格式
- 27. 如何在EXTJS中构建文件夹结构树?
- 28. 如何在EXTJS中构建文件夹结构树?
- 29. 构建面板的自定义Extjs
- 30. ExtJs的自定义js构建器
谢谢。这就是我需要的。 – 2012-01-11 14:58:59
“AbstractPlugin类是用户实现的插件应该继承的基类,该类定义了组件使用的基本API插件...” - http://docs.sencha.com/extjs/4.2.1 /#!/api/Ext.AbstractPlugin – mwoodman 2013-08-12 16:25:50
任何人都可以告诉我在哪里实际创建插件文件以及如何将其包含在网格中? – Snowman 2014-06-16 09:31:53