【发布时间】:2016-06-06 21:35:58
【问题描述】:
我正在使用 TreeStore 加载如下所示的数据:
{
"categories": [{
"text": "Ext JS",
"expanded": "true",
"categories": [{
"text": "app",
"categories": [{
"text": "Application.js",
"categories": "null"
}]
},
{
"text": "button",
"expanded": "true",
"categories": [{
"text": "Button.js",
"categories": "null"
},
{
"text": "Cycle.js",
"categories": "null"
},
{
"text": "Split.js",
"categories": "null"
}]
}
]
}]
}
如果类别属性为空,我想要将叶子属性设置为真或假。 我的模型看起来像这样:
Ext.define('TestTree.model.MyModel', {
extend: 'Ext.data.Model',
requires: [
'Ext.data.field.Boolean'
],
fields: [
{
name: 'text'
},
{
type: 'boolean',
name: 'leaf'
}
]
});
我们的想法是为此使用叶子字段的计算配置,但如果我尝试使用 data.get('categories') 我会得到 字段叶子取决于未定义的字段获取,如果我尝试在我的模型中定义字段 categories 并使用 data.categories,没有任何反应。 我不知道我错过了什么! 我的商店是这样的:
Ext.define('TestTree.store.MyTreeStore', {
extend: 'Ext.data.TreeStore',
requires: [
'TestTree.model.MyModel',
'Ext.data.proxy.Ajax',
'Ext.data.reader.Json'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'MyTreeStore',
autoLoad: true,
model: 'TestTree.model.MyModel',
proxy: {
type: 'ajax',
url: 'resources/data/treeData.json',
reader: {
type: 'json',
rootProperty: 'categories'
}
}
}, cfg)]);
}
});
谢谢!
【问题讨论】:
标签: extjs sencha-architect extjs5