компонент настраиваемой ячейки response-table, который ссылается на несколько свойств строки

Мне нужно реализовать сортировку таблиц по столбцам, поэтому я переписываю свой компонент таблицы реакций, используя компонент ReactTable таблицы реакции.

Одна из ячеек таблицы будет содержать ссылку, и ей потребуется доступ к нескольким свойствам одной строки. Пока код столбца ссылок выглядит так:

{
    Header: "Name",
    accessor: "name",
    Cell: cellInfo => (
        <Link className="scenarioDetailLink"
              to={cellInfo.row.linkDestination}
              id={cellInfo.row.linkName}>{cellInfo.row.name}</Link>
    )
},

В результате получаются такие элементы:  td

В сгенерированном элементе привязки отсутствуют свойства id и href. Что я делаю неправильно.


person softweave    schedule 30.08.2017    source источник


Ответы (2)


Оказалось, что мне нужно использовать cellInfo.original, а не cellInfo.row. Когда вы предоставляете Cell средство визуализации, вы должны использовать cellInfo.original для получения всех данных строки (особенно если вы не показываете эти данные в виде столбцов). row содержит только то, что отображается в таблице.

person softweave    schedule 08.09.2017
comment
Я использую версию 7. Если вы используете console.log (cellInfo) в теле функции Cell, вы можете увидеть все свойства. объекты, возвращаемые функции. Это очень много. Как я добрался до исходного объекта. Т.е. объект, который вы передаете, когда определяете массив данных, переданных в ловушку useTable, должен перейти в cellIinfo.row.original.linkName. Я думаю, что API немного изменился между 6 и 7 - person Faktor 10; 28.07.2020

У меня была аналогичная проблема, и я решил ее следующим образом:

Cell: (tableInfo) => `$ {tableInfo.data [tableInfo.row.index] .dateToShow}`

где: tableInfo - это объект, который, помимо прочего, имеет следующие атрибуты: {columns: []}, data: [], comlumn: {}, row: [.], cell: {}} и dateToShow - это значение, которое не в представлении, но существует в модели данных. Если вам нужно получить доступ к данным, которые находятся в табличном представлении, вы можете использовать объект строки, если его нет в табличном представлении, вы можете получить доступ к модели данных, используя массив данных.

person Rodolfo F Juarez    schedule 14.04.2020
comment
Моему вопросу пару лет, и таблица реакций сильно изменилась. Какую версию вы использовали? - person softweave; 16.04.2020
comment
Я использую версию 7.0.0. Это правильно, что ему уже несколько лет, но я не нашел других решений, поэтому мне показалось удобным опубликовать свой опыт, если он будет полезен другим. - person Rodolfo F Juarez; 18.04.2020