From 0ea9404056f8bece2fd3fe84e09de57222a7c985 Mon Sep 17 00:00:00 2001 From: Conor Date: Fri, 30 Oct 2020 13:32:12 -0500 Subject: [PATCH] Sortable table row re-rendering fix (#456) * Add exhaustive dependencies to data memoized value * Bump patch --- package.json | 2 +- src/tables/sortable-table.js | 2 +- test/tables/sortable-table.test.js | 11 +++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 534d53d6..ef4646e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@launchpadlab/lp-components", - "version": "5.1.0", + "version": "5.1.1", "engines": { "node": "^8.0.0 || ^10.13.0 || ^12.0.0" }, diff --git a/src/tables/sortable-table.js b/src/tables/sortable-table.js index 95217711..49a3d088 100644 --- a/src/tables/sortable-table.js +++ b/src/tables/sortable-table.js @@ -121,7 +121,7 @@ function SortableTable({ ) return sorted } - }, [ascending, sortPath, sortFunc, valueGetter]) + }, [ascending, sortPath, sortFunc, valueGetter, controlled, disableSort, disableReverse, unsortedData]) const handleColumnChange = (column) => { if (column.disabled) return diff --git a/test/tables/sortable-table.test.js b/test/tables/sortable-table.test.js index b7216c8e..52d0fde1 100644 --- a/test/tables/sortable-table.test.js +++ b/test/tables/sortable-table.test.js @@ -324,3 +324,14 @@ test('`valueGetter` column can be the initial column and is sorted ascending', ( expect(myValueGetter).toHaveBeenCalled() }) +test('table data is updated when data prop changes', () => { + const newTableData = [{ name: 'Kortney' }] + const wrapper = mount( + + + + ) + expect(wrapper.find('td').first().text()).toEqual('Kim') + wrapper.setProps({ data: newTableData }) + expect(wrapper.find('td').first().text()).toEqual('Kortney') +})