0

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

例如:

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

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


4

1 回答 1

0

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

于 2019-11-17T07:26:16.227 回答