From 4433dd83d5967d35cde06f4ed5185c2b20ec0c0b Mon Sep 17 00:00:00 2001 From: Michal Klobukowski Date: Wed, 4 Jul 2018 12:20:45 +0200 Subject: [PATCH] Create DataItem type to ensure table rows use key attr to properly rerender Feature #13703 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- src/components/data-table/data-table.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/data-table/data-table.tsx b/src/components/data-table/data-table.tsx index e8a5b24e..e96839e5 100644 --- a/src/components/data-table/data-table.tsx +++ b/src/components/data-table/data-table.tsx @@ -8,7 +8,9 @@ import { DataColumn, SortDirection } from './data-column'; import DataTableFilters, { DataTableFilterItem } from "../data-table-filters/data-table-filters"; export type DataColumns = Array>; - +export interface DataItem { + key: React.Key; +} export interface DataTableProps { items: T[]; columns: DataColumns; @@ -18,7 +20,7 @@ export interface DataTableProps { onFiltersChange: (filters: DataTableFilterItem[], column: DataColumn) => void; } -class DataTable extends React.Component & WithStyles> { +class DataTable extends React.Component & WithStyles> { render() { const { items, classes } = this.props; return
@@ -66,10 +68,10 @@ class DataTable extends React.Component & WithStyles { - const { columns, onRowClick, onRowContextMenu } = this.props; + const { onRowClick, onRowContextMenu } = this.props; return onRowClick && onRowClick(event, item)} onContextMenu={event => onRowContextMenu && onRowContextMenu(event, item)}> {this.mapVisibleColumns((column, index) => ( -- 2.30.2