Ext TreeStore未加载

psunt 发布于 2019-05-15 extjs 最后更新 2019-05-15 22:59 30 浏览

我在sencha中用TreeStore使用了NestedList。 我的模型,商店和列表在这里:

Ext.define('ListItem', {
    extend: 'Ext.data.Model',
    config: {
        fields: [
            { name: 'pid' },
            { name: 'name' },
            { name: 'GroupVariations' }]
    }
});
var treeS=Ext.create('Ext.data.TreeStore', {
   model: "ListItem",
    config:{
         storeId:'treeS',
         autoLoad: true,
         defaultRootProperty: "Items",
          proxy: {
            type: "jsonP",
            url: "myjosn/data.json",
            reader: {
                type: "json",
                root: 'Items'
            }
        },
    root:{
        text:"Items",
        expanded: true
    }
    }
});
Ext.create('Ext.NestedList', {
    fullscreen: true,
    store: treeS,
    title: 'Varyasyonlar',
     displayField: 'name'
});
我的json数据:
[
  {
    "pid": 117,
    "name": "beklet",
    "Items": []
  },
  {
    "pid": -1,
    "name": "PASTALAR",
    "Items": [
      {
        "pid": 152,
        "name": "ÇİKOLATALI PASTA",
        "Items": []
      },
      {
        "pid": 153,
        "name": "MUZLU PASTA",
        "Items": []
      },
      {
        "pid": 154,
        "name": "ÇİLEKLİ PASTA",
        "Items": []
      },
      {
        "pid": 155,
        "name": "BEYAZ ÇİKOLATALI PASTA",
        "Items": []
      }
    ]`enter code here`
  }
]
我正在安装本地数据这json和它的工作。但它不适用于网址。因为商店没有填充。
console.log(treeS) => Output => f,item,data,items: Array[0]
为什么不起作用?
I tried, my json this format:
[{ “文件”:[{ “PID” 117, “姓名”: “beklet”, “文件”:[]}]},{ “文件”:[{ “PID”: - 1, “姓名”: “PASTALAR”,“Items”:[{“pid”:152,“name”:“ÇİKOLATALIPASTA”,“Items”:[]},{“pid”:153,“name”:“MUZLU PASTA”项目“:[]},{”pid“:154,”name“:”ÇİLEKLİPASTA“,”Items“:[]},{”pid“:155,”name“:”BEYAZÇİKOLATALIPASTA“,” “:[]}]}]}] 但不行
已邀请:

pculpa

赞同来自:

谢谢朋友 我发现然后回答。 我的json数据模型是:

Ext.define('Modifiers', {
extend: 'Ext.data.Model',
requires: [
    'Ext.data.Field'
],
config: {
    fields: [
        {
            name: 'id'
        },
        {
            name: 'name'
        },
        {
            name: 'price'
        },
        {
            name: 'selected'
        },
        {
            name: 'pid'
        },
        {
            name: 'must'
        },
        {
            name: 'mustGroup'
        },
        {
            name: 'isMultiSelect',
            type: 'boolean'
        },
        {
            name: 'Items'
        },
        {
            name:'isProductGroup'
        },
        {
            name:'isMultiSelect'
        }
    ]
}
}); 这里的错误是“id”。 我改变了json数据中的“id”属性及其工作! 好日子朋友......

cut

赞同来自:

您的JSON数据应该是这样的

{"Children":[
  {
    "pid": 117,
    "name": "beklet",
    "leaf":false,
    "Children": []
  },
  {
    "pid": -1,
    "name": "PASTALAR",
    "leaf":false,
    "Children": [
      {
        "pid": 152,
        "name": "ÇİKOLATALI PASTA",
        "leaf":false,
        "Children": []
      },
      {
        "pid": 153,
        "name": "MUZLU PASTA",
        "leaf":false,
        "Children": []
      },
      {
        "pid": 154,
        "name": "ÇİLEKLİ PASTA",
        "leaf":false,
        "Children": []
      },
      {
        "pid": 155,
        "name": "BEYAZ ÇİKOLATALI PASTA",
        "leaf":false,
        "Children": []
      }
    ]
  }]
}
读者应该是这样的
reader: {
    type: "json",
    root: 'Children'
}

lnulla

赞同来自:

尝试使用以下json,上面的json不遵循树结构。

[
{
    "pid": 117,
    "name": "beklet",
    "leaf": true
},
{
    "pid": -1,
    "name": "PASTALAR",
    "leaf": false,
    "Items": [
        {
            "pid": 152,
            "name": "ÇİKOLATALI PASTA",
            "leaf": true
        },
        {
            "pid": 153,
            "name": "MUZLU PASTA",
            "leaf": true
        },
        {
            "pid": 154,
            "name": "ÇİLEKLİ PASTA",
            "leaf": true
        },
        {
            "pid": 155,
            "name": "BEYAZ ÇİKOLATALI PASTA",
            "leaf": true
        }
    ]
}
]

datque

赞同来自:

在第一级添加Items,定义为root,如下所示: 编辑:通过将第一个方括号更改为大括号,而不是发送JSON数组,作为JSON对象发送。

{"Items":[
  {
    "pid": 117,
    "name": "beklet",
    "Items": []
  },
  {
    "pid": -1,
    "name": "PASTALAR",
    "Items": [
      {
        "pid": 152,
        "name": "ÇİKOLATALI PASTA",
        "Items": []
      },
      {
        "pid": 153,
        "name": "MUZLU PASTA",
        "Items": []
      },
      {
        "pid": 154,
        "name": "ÇİLEKLİ PASTA",
        "Items": []
      },
      {
        "pid": 155,
        "name": "BEYAZ ÇİKOLATALI PASTA",
        "Items": []
      }
    ]
  }]
}