primeng - 有没有办法将 json 数据自动映射到 PrimeNG 中树表的树节点实例?

标签 primeng treenode primeng-treetable

我有一些来自服务器的 JSON 数据,我必须将其显示在 UI 上的树表中。我正在使用 PrimeNG Tree Table 组件。我面临的问题是树表需要特定格式的数据。

例如:

这是我从服务器获取的数据:

{
    "records": [
        {
            "name":"Documents",
            "size":"75kb",
            "type":"Folder",
            sub-folder: [
                {
                    "name":"Work",
                    "size":"55kb",
                    "type":"Folder"
                },
                {
                    "name":"Expenses.doc",
                    "size":"30kb",
                    "type":"Document"
                }
            ]
        },
        {
            "name":"Documents",
            "size":"75kb",
            "type":"Folder",
            sub-folder: [
                {
                    "name":"Work",
                    "size":"55kb",
                    "type":"Folder"
                }
            ]
        }
    ]
}

但是,树表需要以下格式的数据:

{
    "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"
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

这很难手动完成,因为我正在解析的 JSON 非常复杂。有没有办法将 JSON 数据自动映射到 Tree Table 想要的方式?

这是树节点界面的样子。树节点代表树表的一行。


export interface TreeNode {
    data?: any;
    children?: TreeNode[];
    leaf?: boolean;
    expanded?: boolean;
}


最佳答案

我遇到了同样的问题,不幸的是,您必须编写自己的 JSON 解析器来更改格式,然后才能将其绑定(bind)到树。因为 primeng 树模板与基于该绑定(bind)的特定键和操作绑定(bind)在一起。

关于primeng - 有没有办法将 json 数据自动映射到 PrimeNG 中树表的树节点实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58897276/

相关文章:

c# - 在 TreeView c# 中向上移动树节点的处理程序崩溃

tree - 更改 PrimeNG 树中的展开和折叠图标

javascript - Angular Treetable (Primeng 树表) - 获取所有子节点的父节点

xpath - Umbraco 7 Multinode Treepicker xpath查询parent的根节点parent

c# - 基于字符串构建 TreeView

angular - 如何通过代码扩展PrimeNg TreeTable

angularjs - 覆盖 primeNg 的 DataTable 组件时模板解析错误

javascript - 如何在 PrimeNG 中使用 RowGroup 对数据进行分组?

Angular2 - 显示/隐藏选择单选按钮的部分

javascript - 无法将 ngModel 绑定(bind)到 p-dropdown 值(Angular)