javascript - 如何更改 Extjs NodeInterface 上的 parentId 属性

标签 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', 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 类的一部分。您将不得不覆盖此处列出的“装饰”静态方法: http://docs.sencha.com/ext-js/4-1/source/NodeInterface.html#Ext-data-NodeInterface 还有一个 updateInfo 方法在节点移动后调用,该方法将尝试设置 parentId 属性 - 因此也必须更改。

关于javascript - 如何更改 Extjs NodeInterface 上的 parentId 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875934/

相关文章:

javascript - 如何使用 chai-http 放置 PDF?

javascript - EXTJS 中的列布局

javascript - map 闭包内未定义的“props”

javascript - XMLHttpRequest 通过但不是我的 Jquery Ajax 调用调用相同的东西

java - Camel Rest DSL 响应编码

java - Jersey 的第一个 REST 应用程序

hibernate - Spring Boot REST WebService + JPA : pageable and filter

extjs - 如何使用精确匹配过滤 extjs 存储

javascript - 如何在 Sencha touch 中滑动多个屏幕

javascript - "window.frame.openDialog"无法在 Mac OS X 中选择文件