如何在sencha touch中获得嵌套列表?

时间:2013-11-23 12:37:56

标签: javascript sencha-touch sencha-touch-2 nested-lists

我有以下主要文件:

app.js:

Ext.Loader.setConfig({
});
Ext.application({
    views: [
        'Login',
        'Inner',
        'Group',
        'Innerdata',
        'Grptoolbar'
    ],
    stores:[
        'MyStore'
    ],
    models:[
        'MyModel'
    ],
    name: 'chat',

    launch: function() {
        Ext.create('chat.view.Login', {fullscreen: true});
    }
});

Group.js:是列表的视图文件。

Ext.define('chat.view.Group', {
    extend: 'Ext.Group',
    alias: "widget.Group",
    xtype:'Group',
    requires:['Ext.dataview.List','Ext.data.Store'],

    config:{
    title:'My List',
    layout:'fit',
     items: [
        {
            xtype:'list',
            store:'MyStore',
            itemTpl:'<b>{name}<b>'
        },
     ]
  },
});

MyModel.js:

Ext.define('chat.model.MyModel',{
    extend:'Ext.data.Model',
    config:{
        fields: [
        {name: 'text', type: 'string'},
        {name: 'card'}
    ]
    }
});

MyStore.js

Ext.define('chat.store.MyStore',{
    extend:'Ext.data.TreeStore',
    config:{
        model:'chat.model.MyModel',
        root: {
       items: [{
            text: 'About',
            card: {xtype: 'Grptoolbar'},
            leaf: true
        }
        ],
        },
        autoLoad:true,
        proxy: {
        type: 'ajax',
        reader: {
            type: 'tree',
            root: 'items'
        }
    }
    }
});

我正在尝试创建嵌套List.so我创建了商店,模型和视图文件 目前我面临这个错误:

  

错误:[Ext.createByAlias]无法创建无法识别的别名实例:reader.tree

如果我从MyStore.js删除以下行,则错误消失,应用程序正在运行,但我没有列表。

proxy: {
        type: 'ajax',
        reader: {
            type: 'tree',
            root: 'items'
        }
    }   

那我怎么解决呢?所以我得到了我的嵌套列表。

1 个答案:

答案 0 :(得分:0)

没有“树阅读器”,所以你不能使用config type: 'tree',允许的选项是:json,xml,data,array。

此外,当您使用嵌套列表时,无需为代理定义“树阅读器”。我认为这就足够了:

Ext.define('chat.store.MyStore',{
    extend:'Ext.data.TreeStore',
    config:{
        model:'chat.model.MyModel',
        root: {
          items: [{
            text: 'About',
            card: {xtype: 'Grptoolbar'},
            leaf: true
          }],
        },
        autoLoad:true,
        defaultRootProperty: 'items'
    }
    }
});