Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为angular 5的Priming TreeTable创建数据模型?_Angular_Angular5_Primeng - Fatal编程技术网

如何为angular 5的Priming TreeTable创建数据模型?

如何为angular 5的Priming TreeTable创建数据模型?,angular,angular5,primeng,Angular,Angular5,Primeng,我正在尝试使用angular 5中的Priming treetable。根据文件,它需要特定格式的数据。是否有推荐的方法将自定义数据转换为所需格式?现在,我通过http get服务以以下格式获取json数组,其中relatedkey指定数据的子级。因此,需要迭代json数组以获得relatedKey数组中提到的具有键的子级。还是应该由服务器以所需格式发送数据 输入json ---编辑:不是EXCAT数据,而是类似以下内容---- 预期的json { "data": [

我正在尝试使用angular 5中的Priming treetable。根据文件,它需要特定格式的数据。是否有推荐的方法将自定义数据转换为所需格式?现在,我通过http get服务以以下格式获取json数组,其中relatedkey指定数据的子级。因此,需要迭代json数组以获得relatedKey数组中提到的具有键的子级。还是应该由服务器以所需格式发送数据

输入json ---编辑:不是EXCAT数据,而是类似以下内容----

预期的json

     {
 "data":
 [  
    {  
        "data":{  
            "name":"Documents",
            "size":"75kb",
            "type":"Folder"
        },
        "children":[
            {  
                "data":{  
                    "name":"Work",
                    "size":"55kb",
                    "type":"Folder"
                },
                "children":[  
                    {  
                        "data":{  
                            "name":"Expenses.doc",
                            "size":"30kb",
                            "type":"Document"
                        }
                    },
                    {  
                        "data":{  
                            "name":"Resume.doc",
                            "size":"25kb",
                            "type":"Resume"
                        }
                    }
                ]
            },
            {  
                "data":{  
                    "name":"Home",
                    "size":"20kb",
                    "type":"Folder"
                },
                "children":[  
                    {  
                        "data":{  
                            "name":"Invoices",
                            "size":"20kb",
                            "type":"Text"
                        }
                    }
                ]
            }
        ]
    },
    {  
        "data":{  
            "name":"Pictures",
            "size":"150kb",
            "type":"Folder"
        },
        "children":[  
            {  
                "data":{  
                    "name":"barcelona.jpg",
                    "size":"90kb",
                    "type":"Picture"
                }
            },
            {  
                "data":{  
                    "name":"primeui.png",
                    "size":"30kb",
                    "type":"Picture"
                }
            },
            {  
                "data":{  
                    "name":"optimus.jpg",
                    "size":"30kb",
                    "type":"Picture"
                }
            }
        ]
    }
]
}

在使用TreeTable时,我经常从服务器端发送以下内容

public class SummaryObj {
 private boolean leaf;
 private boolean expanded;
 private TreeNodeData data;
 private List<SummaryObj> children;
}
public class TreeNodeData {
  private String name;
}
公共类摘要对象{
私有布尔叶;
私有布尔扩展;
私有树数据;
私人名单儿童;
}
公共类树形数据{
私有字符串名称;
}

这里SummaryObj将自动映射到前端所需的类型。

您不需要手动转换数据,只需按照您的要求自定义treenode.d.ts文件,就像我采用以下方法一样

export interface TreeNode {
label?: string;
data?: any;
icon?: any;
expandedIcon?: any;
collapsedIcon?: any;
children?: TreeNode[];
leaf?: boolean;
expanded?: boolean;
type?: string;
parent?: TreeNode;
partialSelected?: boolean;
styleClass?: string;
draggable?: boolean;
droppable?: boolean;
selectable?: boolean;
level?: any;
ParentOrganizationHierarchyGUID?:any;}
我需要一个额外属性,以便在treenode.d.ts文件中添加ParentOrganizationHierarchyGUID字段
path:node\u modules\primeng\components\common

您必须从服务器或TS代码中手动转换数据。例如,您能明确说明什么包含
data1
吗?添加了示例数据。它基本上是一个数组,带有一些指定键、名称、特性等的名称-值对,我很想更改Treenode模型,但UI中没有任何内容@萨瓦迪亚党
     {
 "data":
 [  
    {  
        "data":{  
            "name":"Documents",
            "size":"75kb",
            "type":"Folder"
        },
        "children":[
            {  
                "data":{  
                    "name":"Work",
                    "size":"55kb",
                    "type":"Folder"
                },
                "children":[  
                    {  
                        "data":{  
                            "name":"Expenses.doc",
                            "size":"30kb",
                            "type":"Document"
                        }
                    },
                    {  
                        "data":{  
                            "name":"Resume.doc",
                            "size":"25kb",
                            "type":"Resume"
                        }
                    }
                ]
            },
            {  
                "data":{  
                    "name":"Home",
                    "size":"20kb",
                    "type":"Folder"
                },
                "children":[  
                    {  
                        "data":{  
                            "name":"Invoices",
                            "size":"20kb",
                            "type":"Text"
                        }
                    }
                ]
            }
        ]
    },
    {  
        "data":{  
            "name":"Pictures",
            "size":"150kb",
            "type":"Folder"
        },
        "children":[  
            {  
                "data":{  
                    "name":"barcelona.jpg",
                    "size":"90kb",
                    "type":"Picture"
                }
            },
            {  
                "data":{  
                    "name":"primeui.png",
                    "size":"30kb",
                    "type":"Picture"
                }
            },
            {  
                "data":{  
                    "name":"optimus.jpg",
                    "size":"30kb",
                    "type":"Picture"
                }
            }
        ]
    }
]
}