在jsFiddle中为ExtJS导入FiltersFeature

时间:2014-08-05 12:56:56

标签: extjs jsfiddle sencha-fiddle

我想在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。我对任何一个都没有运气。

1 个答案:

答案 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,在外部类加载几秒钟后运行正常。