Ext 导出数据,根据官网的代码,报: this.getView(...).saveDocumentAs is not a function 的问题。

参考: Ext Export not working

官网代码:

二、解决方案

主要的原因还是以为找不到 Grid 的问题。我参考中使用的是 Ext . ComponentQuery . query ( 'grid' )[ 0 ]; 来寻找 Grid ,如果 一个 view 中有两个 grid 我们需要找,看看是那个 grid,不同通用。所以我使用的方式是通过传入的 btn 来找最近的 grid。完美解决还通用

    exportTo: function (btn) {
        var cfg = Ext.merge({
            title: 'Grid export demo',
            fileName: 'GridExport' + '.' + (btn.cfg.ext || btn.cfg.type)
        }, btn.cfg);
        //参考的
        var p = Ext.ComponentQuery.query('grid')[0];
        p.saveDocumentAs(cfg)//如果一个view中有两个 grid 不适用
        //自己推到的
        this.getView().query('grid')[0].saveDocumentAs(cfg);//如果一个view中有两个 grid 不适用
        //最后使用
        btn.up('grid').saveDocumentAs(cfg);//通用