Я использую bootstrap treeview. js для создания древовидной структуры. Я изменил это и создал 2 btns для добавления и удаления новых записей. после добавления тестовой записи это мой вывод JSON, из которого дерево создает
[
{
"nodes":[
],
"tag_type":"parent",
"name":"System Summary",
"id":"XS1025",
"desc":"KPI\"s for System Summary"
},
{
"nodes":[
{
"nodes":[
],
"tag_type":"child",
"name":"Network",
"id":"XS1026",
"desc":"KPI\"s for Network"
},
{
"nodes":[
],
"tag_type":"parent",
"name":"test1",
"id":"t1234",
"desc":"davjwd we "
}
],
"tag_type":"parent",
"name":"Monthly CMTS Summary",
"id":"RS1001",
"desc":"KPI\"s for Monthly CMTS Summary"
}
]
сейчас Для удаления я получил выбранный идентификатор, который пользователь хочет удалить. Но не могу удалить его из JSON. Ниже приведен мой код, который я пробовал.
deleteNodeFromKpiListData(nodeData: any, nodeId: any): void {
//nodeData is a single object entry for recursively called function, and nodeId is the selected ID
for (const [key, result] of Object.entries(nodeData)) {
if (result['id'] === nodeId) {
// Here I was trying to delete the objkect from actual JSON
break;
} else if (result['nodes'].length > 0) {
this.deleteNodeFromKpiListData(result['nodes'], nodeId);
}
}
}
Я пробовал методы .filter () и .splice () для удаления объектов из массива. Но это не сработало должным образом. Пример: если пользователь выберет удаление «test», то nodeId = «t1234» и JSON будет
[
{
"nodes":[
],
"tag_type":"parent",
"name":"System Summary",
"id":"XS1025",
"desc":"KPI\"s for System Summary"
},
{
"nodes":[
{
"nodes":[
],
"tag_type":"child",
"name":"Network",
"id":"XS1026",
"desc":"KPI\"s for Network"
}
],
"tag_type":"parent",
"name":"Monthly CMTS Summary",
"id":"RS1001",
"desc":"KPI\"s for Monthly CMTS Summary"
}
]
Это был angular проект с машинописью. Но JavaScript код также очень поможет.