一、前言
Ext 导出数据,根据官网的代码,报:this.getView(...).saveDocumentAs is not a function 的问题。
官网代码:
二、解决方案
主要的原因还是以为找不到 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);//通用 },