我正在使用Sencha Architect 3.0.1。 我正在尝试使用Model,TreeStore和TreePanel。
模特:
Ext.define('User.model.ModelClientList', {
extend: 'Ext.data.Model',
fields: [{ name: 'id' }, { name: 'name' }, { name: 'status' } ],
proxy: {
type: 'direct',
directFn: 'UserClient.listClient',
reader: { type: 'json',root: 'data'}
}
});
TreeStore:
Ext.define('User.store.StoreClientList', {
extend: 'Ext.data.TreeStore',
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
model: 'User.model.ModelClientList',
storeId: 'StoreClientList'
}, cfg)]);
}
});
TreePanel:
{
xtype: 'treepanel',
height: 250,
itemId: 'MainClient',
width: 400,
title: 'Clients',
hideHeaders: false,
store: 'StoreClientList',
rootVisible: false,
viewConfig: {loadMask: true},
columns: [
{xtype: 'treecolumn',dataIndex: 'name',text: '..'},
{xtype: 'gridcolumn', dataIndex: 'status', text: '..'}
]
}
对UserClient.listClient的json请求返回:
{
"data":[
{"id":1,"name":"Pluto","status":3,"children":[
{"id":35,"name":"Mela","status":2,"leaf":true},
{"id":36,"name":"Pera","status":1,"leaf":true},
{"id":37,"name":"Arancia","status":1,"leaf":true}]},
{"id":2,"name":"Pippo","status":1,"leaf":true},
{"id":3,"name":"Paperino","status":2,"leaf":true}],
"success":true
}
现在,有人可以解释一下:
(1)为什么当我点击第一个节点的[+]图标时,应用程序会执行另一个ajax请求,而不是扩展先前请求中已经获得的内容
(2)鉴于这一初步观点:
为什么当我点击[+]时,它会像这样开始疯狂:
答案 0 :(得分:0)
这显然是Sencha Architect的一个问题。
我在一个新项目中从头开始重写相同的架构,现在它按预期工作。
另外,我注意到架构师出了问题,因为简单的操作使得它显示出难以理解和不可判断的错误(例如“无法设置属性'DirectCfg'为null”)。
不幸的是,我不能说Sencha Architect对于大型复杂的项目是成熟的..甚至可能不适用于小型项目。太可惜了