Таблица динамического построения - PullRequest
0 голосов
/ 13 июля 2020

Это структура объекта, которую я получаю из API:

 {
"assignedUser":"user",
"brokerName":'br',
"brokerId":321,
"lobId":3,
"tenderId":"id",
"quoteDeadline":"2019-01-23",
"tenderType":"LA",
"tenderTypeId":6
}

Моя таблица сейчас выглядит так:

текущая таблица

Мне нужна «1», если assignedUser имеет brokerName, или «-», если не для каждого столбца брокера. В этом случае их только два (нет и Aon ограничено), но это не фиксировано.

Столбец Count показывает количество объектов на assignedUser, т.е. для первой строки должен быть ' 1 'на none и' - 'на Aon Limited

Сначала я фильтрую всех брокеров, чтобы они были уникальными для столбцов:

const generateBrokerColumns =
            brokerSearch()?.map((broker: any) => { // brokerSearch filters out all duplicate names
                return ({
                    title: broker.text,
                    dataIndex: broker.value
                });
            })

Затем я группирую массив объектов по имени пользователя , используя loda sh groupBy:

const workloadGroupedByUser = groupBy(workload, 'assignedUser');
    const generateTable = Object.keys(workloadGroupedByUser).map((workload: any) => {
        return {
            assignedUser: workload,
            count: workloadGroupedByUser[workload].length,
        }
    });

Это отображается с помощью:

<Table columns={generateBrokerColumns} dataSource={generateTable}/>

Вопрос:

Мне нужен способ отразить индексы данных, созданные в generateBrokerColumns, чтобы я мог добавить '-' или '1', когда я перебираю workloadGroupedByUser

ОБНОВЛЕНИЕ:

const generateTable = Object.keys(workloadGroupedByUw).map((workload: any) => {
    const a = countBy(workloadGroupedByUw[workload], 'brokerId');

    const b = JSON.stringify({
        assignedUser: workload,
        ...a,
        count: workloadGroupedByUw[workload].length
    });
   return JSON.parse(b);
});

Используя loda sh countBy, решил выпускать частично. Но brokerId в a не совпадает с порядком generateBrokerColumns

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...