ext 7 图表代理数据格式

问题描述

我尝试在 ext 7 中的笛卡尔图上使用直接代理加载 json 数据,如下所示: https://fiddle.sencha.com/#view/editor&fiddle/3bae

在本例中,我从 ajax 加载数据,但返回数据是相同的。 (它实际上是从我的直接 api 复制粘贴的)。我在我的测试系统上有相同的结果:我可以加载硬编码数据,但不能从代理加载。

我必须如何格式化数据才能填充我的图表?

解决方法

  1. JSON 的根属性必须是“result.data”
  2. 数据是对象,不是数组

对于您的自定义 JSON,您可以编写阅读器转换器,如下所示:

    ...
    ...
    proxy: {
        type: 'ajax',url: 'test.json',reader: {
            type: 'json',rootProperty: 'data',fields: ['month','value'],// What is it? 
            transform: {
                fn: function (data) {
                    return Object.values(data.result.data);
                },scope: this
            }
        }
    },autoLoad: true
});

或者你可以改变后端生成标准的extjs json,示例:

{
    "users": [
       {
           "id": 1,"name": "Ed Spencer","email": "ed@sencha.com"
       },{
           "id": 2,"name": "Abe Elias","email": "abe@sencha.com"
       }
    ]
}