Как я могу получить доступ к вложенным массивам в объекте данных, чтобы назначить их в качестве значений свойств для сетки данных? - PullRequest
0 голосов
/ 16 июня 2020

У меня есть сетка данных, которая принимает значения массива для строк и столбцов. Необходимые значения берутся из объекта данных с 3-мя слоями нестина. Вот как это выглядит:

export const duplicatesBySourceGridData = {

 'dataFamily':{
        'fuzzyDuplicates':{
            'columns':[
                  { key: 'id', name: 'ID' },
                  { key: 'title', name: 'Title' }
                ],
            'rows':[
                  { id: 0, title: 'Example' },
                  { id: 1, title: 'Demo' }
                ]    
        },
        'exactDuplicates':{
          'columns':[
                { key: 'id', name: 'ID' },
                { key: 'title', name: 'Title' }
              ],
          'rows':[
                { id: 0, title: 'Example' },
                { id: 1, title: 'Demo' }
              ]    
      }
    }
}

В настоящее время я пытаюсь получить к ним доступ, как показано ниже (обратите внимание, что tooltip - это функция наведения курсора на графический элемент, indexValue возвращает значение "dataFamily" и id возвращает либо fuzzyDuplicates, либо exactDuplicates)

tooltip={({ id, value, color, indexValue }) => (
                        <div>
                            <Grid
                                column={duplicatesBySourceGridData[indexValue][id][`columns`]}
                                rows={duplicatesBySourceGridData[indexValue][id][`rows`]}
                            />
                        </div>                        
                    )}

Это не работает, либо проблема в том, как я назначаю опору, либо как я настраиваю dataObject.

Ура.

1 Ответ

2 голосов
/ 16 июня 2020

Я не знаю, решит ли это вашу проблему, но вам не нужно использовать синтаксис интерполяции строки с галочкой для доступа к ключу в duplicatesBySourceGridData со значением, хранящимся в переменной, например indexValue:

<Grid
  columns={duplicatesBySourceGridData[indexValue][id].columns}
  rows={duplicatesBySourceGridData[indexValue][id].rows}
/>
...