繁体   English   中英

Extjs 3.4自定义JSONReader

[英]Extjs 3.4 custom JSONReader

我好一阵子没问了,但是我终于在这里碰壁了。 无论如何,要使其变得容易。 我正在尝试在extjs 3.4中创建一个JSON存储(与工作相关,不,我没有更新)。 好吧,我像往常一样创建了具有适当响应的查询,并将其填满。 我的问题是,我希望能够在应用程序上提取和使用JSON上的1个额外属性。 来自chrome响应对象的JSON样本:

myInventory: [{Priority:1, PMNumber:444, Description:fix-a-tape, Assets:3, Storage_Count:0,…},…]
percent: 97.040498442368
totalCount: "3"

现在,我知道这是正确的格式,因为我正在使用的Grid已填充,但是我无法获取percent属性。 所以我的问题是,当您有一个在EXTjs上不常用的额外参数时,如何在代码的数据存储构建块上拉一个额外的参数,以我的情况来说是百分比? 我尝试在JSONReader上进行元更改,但是在创建数据存储区时检查数据存储区时,我得到的只是属性的百分比:“ percent”。

Ext.data.JsonReader具有属性jsonData ,正是您所需要的。 一个简单的例子:

Ext.onReady(function() {
    var store = new Ext.data.JsonStore({
        url: 'data/test.json',
        root: 'dataRoot',
        fields: ['fieldA', 'fieldB'],
        idProperty: 'id',
        storeId: 'myStore'
    });

    store.on('load', function(store) {
        console.log(store.reader.jsonData.someOtherProperty);
    });

    store.load(); 

});

和data / test.json看起来像这样:

{
    dataRoot: [{
        id: 0,
        fieldA: 'a',
        fieldB: 'b' 
    }],
    someOtherProperty: 'abc'
}

还有一种替代方法,您可以手动(而不是通过store.load())执行Ext.Ajax请求,使用所需的属性,然后使用从Ajax获得的数据手动调用Ext.data.JsonStore.loadData()请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM