我有以下主要文件:
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'
}
}
那我怎么解决呢?所以我得到了我的嵌套列表。
答案 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'
}
}
});