2

我想Ext.ux.grid.FiltersFeature在 jsFiddle 中使用 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.*']);

但它不起作用。

我还尝试将此 URL 添加为外部资源:

http://docs.sencha.com/extjs/4.1.1/source/FiltersFeature.html

但是 jsFiddle 在第一行就失败了,因为它不需要 HTML。

我也尝试过FiltersFeature在 Sencha Fiddle 中导入,但这也不起作用。

这是我目前对 jsFiddle的尝试,以及对 Sencha Fiddle 的尝试。我对任何一个都没有运气。

4

1 回答 1

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 文件作为外部资源:

完成后,最终结果就是这个 fiddle,它在几秒钟后运行良好,以供外部类加载。

于 2014-08-08T15:06:06.507 回答