admin管理员组

文章数量:1025217

I have an layersTree object that contains data for items' rendering and selectedKeys for setting the checked state of a tree's checkboxes. By deafult selectedKeys is empty object.

const layersTree = {
    "data": [
        {
            "visible_default": true,
            "key": "20",
            "label": "Group layer 1",
            "children": [
                {
                    "visible_default": true,
                    "key": "57",
                    "label": "Layer 1"
                },
            ]
        },
        {
            "visible_default": true,
            "key": "21",
            "label": "Group layer 2",
            "children": [
                {
                    "visible_default": true,
                    "key": "22",
                    "label": "Group layer 3",
                    "children": [
                        {
                            "visible_default": false,
                            "key": "22",
                            "label": "Layer 4"
                        },
                        {
                            "visible_default": false,
                            "key": "35",
                            "label": "Layer 5"
                        }
                    ]
                },
                {
                    "visible_default": true,
                    "key": "35",
                    "label": "Layer 5"
                }
            ]
        }
    ],
    "selectedKeys": {},
}

I need to set selectedKeys to value, which includes checked and partialChecked boolean values like this:

{
    "20": {
        "checked": true,
        "partialChecked": false
    },
    "21": {
        "checked": true,
        "partialChecked": false
    },
    "22": {
        "checked": true,
        "partialChecked": false
    },
    "23": {
        "checked": true,
        "partialChecked": false
    }
}

So, how can I correctly apply recursive tree traversal to generate selectedKeys object?

I have an layersTree object that contains data for items' rendering and selectedKeys for setting the checked state of a tree's checkboxes. By deafult selectedKeys is empty object.

const layersTree = {
    "data": [
        {
            "visible_default": true,
            "key": "20",
            "label": "Group layer 1",
            "children": [
                {
                    "visible_default": true,
                    "key": "57",
                    "label": "Layer 1"
                },
            ]
        },
        {
            "visible_default": true,
            "key": "21",
            "label": "Group layer 2",
            "children": [
                {
                    "visible_default": true,
                    "key": "22",
                    "label": "Group layer 3",
                    "children": [
                        {
                            "visible_default": false,
                            "key": "22",
                            "label": "Layer 4"
                        },
                        {
                            "visible_default": false,
                            "key": "35",
                            "label": "Layer 5"
                        }
                    ]
                },
                {
                    "visible_default": true,
                    "key": "35",
                    "label": "Layer 5"
                }
            ]
        }
    ],
    "selectedKeys": {},
}

I need to set selectedKeys to value, which includes checked and partialChecked boolean values like this:

{
    "20": {
        "checked": true,
        "partialChecked": false
    },
    "21": {
        "checked": true,
        "partialChecked": false
    },
    "22": {
        "checked": true,
        "partialChecked": false
    },
    "23": {
        "checked": true,
        "partialChecked": false
    }
}

So, how can I correctly apply recursive tree traversal to generate selectedKeys object?

本文标签: recursionHow to create selectedKeys structure for Tree component of Primevue v3Stack Overflow