Javascript 如何更改Extjs NodeInterface上的parentId属性
我正在Extjs 4.1上使用rest服务创建简单树。Javascript 如何更改Extjs NodeInterface上的parentId属性,javascript,rest,extjs,extjs4,Javascript,Rest,Extjs,Extjs4,我正在Extjs 4.1上使用rest服务创建简单树。 如何从Ext.data.NodeInterface更改parentId属性名称 这是我的模型: Ext.define('Buildlife.model.Folder', { extend:'Ext.data.Model', idProperty:'id', fields:[ {name:'id', type:'auto',defaultValue:null}, {name:'name',
如何从
Ext.data.NodeInterface
更改parentId属性名称
这是我的模型:
Ext.define('Buildlife.model.Folder', {
extend:'Ext.data.Model', idProperty:'id',
fields:[
{name:'id', type:'auto',defaultValue:null},
{name:'name', type:'auto'},
{name:'files',type:'auto',convert:function(val,rec){
for(var i in val){
var each = val[i];
Ext.apply(each,{
name: each.fileName,
leaf:true,
iconCls:'x-event-icon'
});
rec.appendChild(rec.createNode(each));
}
return val;
},defaultValue:null}
],
proxy:{
type:'rest',
url:GlobalConf.contextPath+'/rest/folder',
reader:{type:'json', root:'children', successProperty:'success'},
writer:{type:'json', root:'children', writeAllFields:false},
listeners:{exception:GlobalConf.storeExceptionHandler}
}
});
当我添加子节点时,它会将父节点作为parentId发送
{
"children": {
"name": "test",
"parentId": "4fc742f344aeac0cc87e6afa",
"leaf ": false
//etc.
}
}
是否可以将其更改为customProperty,例如:
{
"children": {
"name": "test",
"customProperty": "4fc742f344aeac0cc87e6afa",
"leaf ": false
//etc.
}
}
看起来不像。ParentId是每个树节点子类的NodeInterface类的一部分。您必须覆盖此处列出的“装饰”静态方法:
还有一个updateInfo方法,在节点移动后调用该方法,该方法将尝试设置parentId属性,因此也必须更改该属性。Tnx以获取答案。我没有注意到静态方法。非常感谢你