2013-07-26 23 views
0

下面什麼是我的模型,只是一個領域的配置:NestedList在容器中並沒有顯示煎茶觸摸2.2.1

Ext.define('Zjsy.model.TasksToDoModel', { 
    extend : 'Ext.data.Model', 
    xtype : 'TasksToDoModel', 
    config : { 
     fields : ['text'] 
    } 
    }); 

下面是我的店裏,我首先創建數據並使其商店的在線數據我會選擇代理改爲:

var data = { 
text: 'Groceries', 
items: [{ 
    text: 'Drinks', 
    items: [{ 
     text: 'Water', 
     items: [{ 
      text: 'Sparkling', 
      leaf: true 
     }, { 
      text: 'Still', 
      leaf: true 
     }] 
    }, { 
     text: 'Coffee', 
     leaf: true 
    }, { 
     text: 'Espresso', 
     leaf: true 
    }, { 
     text: 'Redbull', 
     leaf: true 
    }, { 
     text: 'Coke', 
     leaf: true 
    }, { 
     text: 'Diet Coke', 
     leaf: true 
    }] 
}, { 
    text: 'Fruit', 
    items: [{ 
     text: 'Bananas', 
     leaf: true 
    }, { 
     text: 'Lemon', 
     leaf: true 
    }] 
}, { 
    text: 'Snacks', 
    items: [{ 
     text: 'Nuts', 
     leaf: true 
    }, { 
     text: 'Pretzels', 
     leaf: true 
    }, { 
     text: 'Wasabi Peas', 
     leaf: true 
    }] 
}] 
}; 


    Ext.define('Zjsy.store.TasksToDoStore', { 
    extend : 'Ext.data.Store', 
    xtype : 'TasksTodoStore', 
    requires : ['Zjsy.model.TasksToDoModel'], 
    config : { 
     model : 'Zjsy.model.TasksToDoModel', 
     data : data 
    } 
    }); 

下面是我的看法,我創建它從容器延伸:

Ext.define('Zjsy.view.TasksToDoPanel', 
{ 
    extend : 'Ext.Container', 
    id : 'tasksToDoPanel', 
    requires: [ 
       'Ext.dataview.*', 
       'Zjsy.store.TasksToDoStore', 
       'Ext.data.Store' 
     ], 
    config : { 
     xtype : 'panel', 
     layout : 'vbox', 
     style : 'background:rgb(218,236,245)', 
     items : [ 
      { 
        xtype:'Ext.dataview.NestedList', 
        store : 'Zjsy.store.TasksToDoStore', 
        displayField: 'text', 
        flex: 1, 
        style : 'border:1px solid red;' 
       }//nested list 
      ] 
    }//config 
}); 

當我查看鉻日誌,它說 「Uncaught Error: [Ext.createByAlias] Cannot create an instance of unrecognized alias: widget.Ext.dataview.NestedList sencha-touch-all-debug.js:6630

任何人都可以幫助我嗎?

+0

首先,你需要閱讀[煎茶文檔】(http://docs.sencha.com/touch/2.2.1/)。 – Viswa

回答

0

Ext.dataview.NestedList是一個類名不xtype,使更改到nestedlist

從店裏取出xtype,並給它storeId : 'TasksTodoStore'存儲配置裏面

你JSON是無效

型號

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

商店

var data = { 
    "text": "Groceries", 
    "items": [{ 
     "text": "Drink", 
     "items": [{ 
      "text": "Water", 
      "items": [{ 
       "text": "Sparkling", 
       "leaf": "true" 
      }, { 
       "text": "Still", 
       "leaf": true 
      }] 
     }, { 
      "text": "Coffee", 
      "leaf": true 
     }, { 
      "text": "Espresso", 
      "leaf": true 
     }, { 
      "text": "Redbull", 
      "leaf": true 
     }, { 
      "text": "Coke", 
      "leaf": true 
     }, { 
      "text": "Diet Coke", 
      "leaf": true 
     }] 
    }, { 
     "text": "Fruit", 
     "items": [{ 
      "text": "Bananas", 
      "leaf": true 
     }, { 
      "text": "Lemon", 
      "leaf": true 
     }] 
    }, { 
     "text": "Snacks", 
     "items": [{ 
      "text": "Nuts", 
      "leaf": true 
     }, { 
      "text": "Pretzels", 
      "leaf": true 
     }, { 
      "text": "Wasabi Peas", 
      "leaf": true 
     }] 
    }] 
    }; 

Ext.define('SF.store.TasksToDoStore', { 
    extend : 'Ext.data.TreeStore', 
    config : { 
     model : 'SF.model.TasksToDoModel', 
     storeId : 'tasksToDoStore', 
     defaultRootProperty: 'items', 
     root : data, 
     autoLoad : false 
    } 
}); 

查看

Ext.define('SF.view.TasksToDoPanel',{ 
    extend : 'Ext.Container', 
    id : 'tasksToDoPanel', 
    xtype : 'tasksToDoPanel', 
    requires: [ 
       'SF.store.TasksToDoStore' 
     ], 
    config : { 
     layout : 'fit', 
     items : [ 
      { 
        xtype:'nestedlist', 
        store : 'tasksToDoStore', 
        title: 'Groceries', 
        displayField: 'text' 
      }] 
    } 
}); 
+0

非常感謝。定義組件時,'xtype'表示別名! –