我想在jsFiddle中使用Ext.ux.grid.FiltersFeature
进行ExtJS的可运行演示。我无法弄清楚这是怎么做的。
我试过了:
Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('Ext.ux', 'js/lib/ext-4.2.1.883/ux');
Ext.require([
'Ext.data.*',
'Ext.data.reader.*',
'Ext.grid.*',
'Ext.tree.*',
'Ext.ux.grid.FiltersFeature',
'Ext.util.*',
'Ext.state.*']);
但它不起作用。
我也尝试将此网址添加为外部资源:
http://docs.sencha.com/extjs/4.1.1/source/FiltersFeature.html
但是jsFiddle在第一行失败,因为它不期待HTML。
我还尝试在Sencha Fiddle中导入FiltersFeature
,但这也不起作用。
这是我的current attempt at a jsFiddle以及an attempt at a Sencha Fiddle。我对任何一个都没有运气。
答案 0 :(得分:3)
你需要进行一些调整才能让它发挥作用。首先,您可以将Ext.Loader
路径配置设置为直接从ExtJS CDN中提取:
Ext.Loader.setPath('Ext.ux', 'http://cdn.sencha.com/ext/gpl/4.2.0/examples/ux/');
然后,您需要将实例化代码包装在Ext.onReady()
中,以防止它在加载FiltersFeature
类之前执行:
Ext.onReady(function() {
var v1 = Ext.create('myGrid', {
myGridId: 'myGrid1'
});
Ext.create('Ext.tab.Panel', {
renderTo: document.body,
items: [v1]
});
});
或者,要使过滤器菜单图标正确显示,您可能还需要添加必要的过滤器相关CSS文件作为外部资源:
完成此操作后,最终结果为this fiddle,在外部类加载几秒钟后运行正常。