Я пытаюсь отобразить данные «Развернуть / Свернуть плоский список» в реагирующей нативе.
Это как одинокий родитель с несколькими детьми. Так что, если пользователь нажмет на ячейку, я должен показать несколько строк для этого развернуть / свернуть.
Но я получаю данные с сервера, как показано ниже.
[{
code: '1212',
name: 'Bajaj Model 1',
url: 'Some url',
category: 'Bike'
},
{
code: '1213',
name: 'Bajaj Model 2',
url: 'other url',
category: 'Bike'
},
{
code: '1454',
name: 'BMW Model 1',
url: 'Some url',
category: 'Car'
},
{
code: '1454',
name: 'BMW Model 2',
url: 'Some url',
category: 'Car'
}
]
Итак, все данные Bike , я должен показать одно место, как Родитель и ребенок.
Для этого я сделал фильтр.
const fundsFilterData = mapValues(groupBy(response, 'category'),
fundslist => fundslist.map(item => omit(item, 'category')));
И я получаю как следует.
{
'Bike': [{
code: '1212',
name: 'Bajaj Model 1',
url: 'Some url'
},
{
code: '1213',
name: 'Bajaj Model 2',
url: 'other url'
},
],
'Car': [{
code: '1454',
name: 'BMW Model 1',
url: 'Some url'
},
{
code: '1454',
name: 'BMW Model 2',
url: 'other url'
},
]
}
Но я хочу сделать его массивом вместе с некоторыми предварительно добавленными ключами, такими как:
[{
'Title': 'Bike',
'Values': [{
'code': '1212',
'name': 'Bajaj Model 1',
'url': 'Some url'
},
{
'code': '1454',
'name': 'Bajaj Model 2',
'url': 'other url'
}
]
},
{
'Title': 'Car',
'Values': [{
'code": '
1454 ',
'name": '
BMW Model 1 ',
'url": '
Some url '
},
{
'code': '1454',
'name': 'BMW Model 2',
'url': 'Some url'
}
]
}
}
Чтобы я мог отображать заголовки в заголовках, а после того, как пользователь нажал на строку, я могу показать дочерние данные как развернутые.
Есть предложения?