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?