-1

Здравствуйте,Sencha Architect/Touch вложенной список вопросов

Я работаю с архитектором Сенча в проекте с сенсорным 2.4. У меня есть проблема борьбы с вложенным списком и дерева магазина:

  • Это мой магазин:

    Ext.define('App.store.Tree', { 
    extend: 'Ext.data.TreeStore', 
    
    requires: [ 
    'App.model.Servicios', 
    'Ext.data.proxy.Ajax', 
    'Ext.data.reader.Json', 
    'Ext.data.proxy.LocalStorage' 
    ], 
    
    
    config: { 
        model: 'App.model.Servicios', 
        storeId: 'Tree', 
        defaultRootProperty: 'items', 
        proxy: { 
         type: 'ajax', 
         type: 'localstorage', 
         reader: { 
          type: 'json' 
         } 
        } 
    } 
    

    });

(я пробовал с каждой комбинацией Proxys и читателей, и ошибка та же.)

  • Теперь это моя модель:

    Ext.define('App.model.Servicios', { 
        extend: 'Ext.data.Model', 
    
    
        requires: [ 
        'Ext.data.Field' 
        ], 
    
    
        config: { 
        fields: [ 
        { 
        name: 'categoria', 
        type: 'string' 
        }, 
        { 
        name: 'nombre', 
        type: 'string' 
        }, 
        { 
        name: 'ubicacion', 
        type: 'string' 
        }, 
        { 
        name: 'datos', 
        type: 'string' 
        } 
        ] 
        } 
        }); 
    
  • Это контейнер с вложенным перечнем:

    Ext.define('App.view.ServiciosContainer', { 
        extend: 'Ext.Container', 
        alias: 'widget.servicioscontainer', 
    
    
        requires: [ 
        'Ext.Toolbar', 
        'Ext.Button', 
        'Ext.dataview.NestedList' 
        ], 
    
    
        config: { 
        height: '100%', 
        id: 'ServiciosContainer', 
        width: '100%', 
        layout: 'fit', 
        items: [ 
        { 
        xtype: 'toolbar', 
        docked: 'top', 
        items: [ 
        { 
        xtype: 'button', 
        id: 'serviciosContainerHome', 
        iconCls: 'list' 
        }, 
        { 
        xtype: 'button', 
        id: 'serviciosContainerBorrar', 
        iconCls: 'trash' 
        }, 
        { 
        xtype: 'button', 
        id: 'serviciosContainerAgregar', 
        iconCls: 'add' 
        } 
        ] 
        }, 
        { 
        xtype: 'nestedlist', 
        id: 'lstServicios', 
        displayField: 'nombre', 
        store: 'Tree' 
        } 
        ] 
        }, 
    
    
        }); 
    
    • Кнопка добавить выполняет следующие действия:

      var data = { 
          items: [ 
           { 
           nombre: '1', 
           items: [{ 
             nombre: '1.1', 
             items: [{ 
               nombre: '1.1.1 last', 
               leaf: true 
             }, { 
           nombre: '1.1.2 last', 
           leaf: true 
           }] 
      }, { 
           nombre: '1.2 last', 
           leaf: true 
           }] 
      }, 
      { 
           nombre: '2', 
           items: [{ 
             nombre: '2.1 last', 
             leaf: true 
           }, { 
           nombre: '2.2 last', 
           leaf: true 
           }] 
      } 
      ] 
      }; 
      
      
      
      var servicios = Ext.getStore('TreeStore'); 
      servicios.add(data); 
      
  • Это ошибка, я получаю, когда я пытаюсь добавить данные в хранилище:

    TypeError: null is not an object (evaluating 'children.length') 
    

Пожалуйста, помогите !!!! Я не знаю, где искать ошибки, поскольку все примеры, которые я нашел там, где они идентичны моим, и у них не было никаких проблем.

ответ

0

Я создал демоверсию, используя код ур, ее работы прекрасны.

я видел много не-необходимый код в Уре демке Как вы добавили прокси в магазин и т.д.

Но я ясно видеть небольшую ошибку вы сделали # См StoreID его «Дерево» и посмотреть на Ext.getStore ('TreeStore');

Я надеюсь, что вы получили мою точку

Благодаря

 Смежные вопросы

  • Нет связанных вопросов^_^