如何使用子 json 数据在 Extjs 中创建树面板

雅克

我想生成一个树面板,当我定义 TreeStore 时,我收到以下错误:'无法读取未定义的属性'isModel'。这是我的代码的一些片段:

Ext.define('App.view.AreaActivosTree', {
  extend: 'Ext.panel.Panel',
  alias: 'widget.AreaActivosTree',
  requires: ['Ext.toolbar.Toolbar', 'Ext.data.*', 'Ext.grid.*', 'Ext.tree.*',    'Ext.tip.*'],

initComponent: function() {

var store = Ext.create('Ext.data.TreeStore', {
fields: ['text'],
proxy:{
  type: 'ajax',
  url: 'principal/app/tree_areas_versat/',
  reader: {
    type: 'json',
    root: 'root',
         }
 },
autoLoad:true,

});

Ext.apply(this, {
items: [{
   xtype: 'treepanel',
   rootVisible: false,
   store: store,
   }],

});

this.callParent(arguments);
},

});

json que devuelve url: {"total": 73, "root": {"expanded": true, "children":      [{"text": "AREA   VICEPRESIDENCIA COMERCIAL", "expanded": true, "children": [{"text": "DIRECCI\u00d3N COMERCIAL LOGISTICA DE ALMACEN", "leaf": true}, {"text": "DIRECCI\u00d3N COMERCIAL MARKETING Y VENTAS", "leaf": true}, {"text": "DIRECCI\u00d3N COMERCIAL NUEVOS NEGOCIOS", "leaf": true}, {"text": "DIRECCI\u00d3N COMERCIAL TRANSPORTE Y SEGURO", "leaf": true}, {"text": "VICEPRESIDENCIA COMERCIAL", "leaf": true}, {"text": "OFICINA SECRETARIA VICE PRESIDENCIA COMERCIAL", "leaf": true}]}, {"text": "AREA DIRECCION DE INSPECCION DEL TRANSPORTE", "expanded": true, "children": [{"text": "DIRECCION DE INSPECCION DEL TRANSPORTE", "leaf": true}, {"text": "GPS", "leaf": true}]}, {"text": "AREA VICEPRESIDENCIA LOGISTICA", "expanded": true, "children": [{"text": "VICEPRESIDENCIA LOGISTICA", "leaf": true}, {"text": "DIRECCI\u00d3N DE GESTI\u00d3N DE LOS RECURSO E INVENTARIOS", "leaf": true}, {"text": "GRUPO ADMINISTRACI\u00d3N", "leaf": true}]}, {"text": "TRANSPORTE", "expanded": true, "children": [{"text": "DIRECCION", "leaf": true}]}, {"text": "DIRECCION JURIDICA AFT", "expanded": true, "children": [{"text": "OFICINA DIRECCION", "leaf": true}, {"text": "OFICINA ASESORES JURIDICOS",   "leaf": true}]}]}, "success": true} 

泽克

来自商店模型配置文档

除非您定义了将创建匿名 Ext.data.Model 的字段配置,否则存储需要此配置才能读取数据。

所以你可以为你的商店定义一个模型,或者简单地添加fields: ['text']到你的商店配置中就可以了。

编辑:

我错了,问题似乎是您需要定义根所在的 JSON 属性。所以在这种情况下,我认为这将是“root.children”,但这对我来说会导致无限加载树。我通过修改您的 JSON 使其仅列出根的子级而不包括根配置来使其工作。请参阅此处的小提琴

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在ExtJs中从Ajax加载JSON数据

如何在extjs或jquery中显示JSON数据?

从文件中读取数据并使用python中的anytree创建树

从pandas DataFrame读取数据并使用python中的anytree创建树

如何使用带有父子关系的JSON数据使用复选框创建树?

使用Extjs3在组合框中动态加载json数据

如何在extjs的列级别获取嵌套的json数据

从extjs中的json属性文件动态加载treegrid数据

如何使用React中API的动态数据创建树形显示?

如何使用ajax从jquery数据表中嵌套的json子数组中获取数据

如何使用Python访问JSON子数据

如何在 textarea ExtJS 中绑定数据

如何自动格式化数据以在Google表格中创建树形图?

使用 Ajax 在 ExtJS 中异步检索和呈现数据

使用C#使用LINQ在json.net中创建树层次结构

如何使用菜单和带有JSON数据的子菜单创建Bootstrap4导航栏?

从JSON数据构建树

使用 EXTJS 发布 JSON 数据(带重音的字符)并使用 PHP 保存

在使用HTML Services创建的面板中显示数据中的IMG

如何从extjs中的json中为嵌套组合框创建数组

如何将数据从json放入ext窗口中的extjs网格视图

ExtJS - 如何在运行时访问 app.json 数据?

如何从odoo控制器将JSON数据检索到特定的js文件(ExtJS)

如何使用Javascript / GAS访问JSON响应中的子级数据

我不知道如何使用AngularJS在JSON文件中获取子数据

在 ExtJS 中创建容器面板的问题

ExtJS-使用JSON数据的XTemplate,将某些值显示为链接

尝试使用 ExtJS 创建自定义面板

如何在面板 EXTJS 内的列表/表格中加载动态数据