@@ -760,7 +760,7 @@ var FixedDataTable = React.createClass({
760760
761761 var firstRowIndex = ( oldState && oldState . firstRowIndex ) || 0 ;
762762 var firstRowOffset = ( oldState && oldState . firstRowOffset ) || 0 ;
763- var scrollX , scrollY ;
763+ var scrollX , scrollY , scrollState ;
764764
765765 scrollX = oldState ? oldState . scrollX : 0 ;
766766 if ( props . scrollLeft !== this . props . scrollLeft ) {
@@ -774,19 +774,9 @@ var FixedDataTable = React.createClass({
774774 firstRowOffset = scrollState . offset ;
775775 scrollY = scrollState . position ;
776776 }
777-
778- if ( this . _rowToScrollTo !== undefined ) {
779- scrollState =
780- this . _scrollHelper . scrollRowIntoView ( this . _rowToScrollTo ) ;
781- firstRowIndex = scrollState . index ;
782- firstRowOffset = scrollState . offset ;
783- scrollY = scrollState . position ;
784- delete this . _rowToScrollTo ;
785- }
786-
787777 var groupHeaderHeight = useGroupHeader ? props . groupHeaderHeight : 0 ;
788778
789- if ( oldState && props . rowsCount !== oldState . rowsCount ) {
779+ if ( oldState && ( props . rowsCount !== oldState . rowsCount || props . rowHeight !== oldState . rowHeight ) ) {
790780 // Number of rows changed, try to scroll to the row from before the
791781 // change
792782 var viewportHeight =
@@ -800,7 +790,7 @@ var FixedDataTable = React.createClass({
800790 viewportHeight ,
801791 props . rowHeightGetter
802792 ) ;
803- var scrollState =
793+ scrollState =
804794 this . _scrollHelper . scrollToRow ( firstRowIndex , firstRowOffset ) ;
805795 firstRowIndex = scrollState . index ;
806796 firstRowOffset = scrollState . offset ;
@@ -809,6 +799,15 @@ var FixedDataTable = React.createClass({
809799 this . _scrollHelper . setRowHeightGetter ( props . rowHeightGetter ) ;
810800 }
811801
802+ if ( this . _rowToScrollTo !== undefined ) {
803+ scrollState =
804+ this . _scrollHelper . scrollRowIntoView ( this . _rowToScrollTo ) ;
805+ firstRowIndex = scrollState . index ;
806+ firstRowOffset = scrollState . offset ;
807+ scrollY = scrollState . position ;
808+ delete this . _rowToScrollTo ;
809+ }
810+
812811 var columnResizingData ;
813812 if ( props . isColumnResizing ) {
814813 columnResizingData = oldState && oldState . columnResizingData ;
0 commit comments