@@ -281,7 +281,6 @@ export class ListView<T> implements IListView<T> {
281281 private items : IItem < T > [ ] ;
282282 private itemId : number ;
283283 private rangeMap : RangeMap ;
284- private paddingTop : number ;
285284 private cache : RowCache < T > ;
286285 private renderers = new Map < string , IListRenderer < any /* TODO@joao */ , any > > ( ) ;
287286 private lastRenderTop : number ;
@@ -366,8 +365,7 @@ export class ListView<T> implements IListView<T> {
366365
367366 this . items = [ ] ;
368367 this . itemId = 0 ;
369- this . paddingTop = options . paddingTop ?? 0 ;
370- this . rangeMap = new RangeMap ( this . paddingTop ) ;
368+ this . rangeMap = new RangeMap ( options . paddingTop ?? 0 ) ;
371369
372370 for ( const renderer of renderers ) {
373371 this . renderers . set ( renderer . templateId , renderer ) ;
@@ -475,9 +473,8 @@ export class ListView<T> implements IListView<T> {
475473 this . scrollableElement . updateOptions ( scrollableOptions ) ;
476474 }
477475
478- if ( options . paddingTop !== undefined && options . paddingTop !== this . paddingTop ) {
476+ if ( options . paddingTop !== undefined && options . paddingTop !== this . rangeMap . paddingTop ) {
479477 // trigger a rerender
480- this . paddingTop = options . paddingTop ;
481478 const lastRenderRange = this . getRenderRange ( this . lastRenderTop , this . lastRenderHeight ) ;
482479 const offset = options . paddingTop - this . rangeMap . paddingTop ;
483480 this . rangeMap . paddingTop = options . paddingTop ;
@@ -622,7 +619,7 @@ export class ListView<T> implements IListView<T> {
622619
623620 // TODO@joao : improve this optimization to catch even more cases
624621 if ( start === 0 && deleteCount >= this . items . length ) {
625- this . rangeMap = new RangeMap ( this . paddingTop ) ;
622+ this . rangeMap = new RangeMap ( this . rangeMap . paddingTop ) ;
626623 this . rangeMap . splice ( 0 , 0 , inserted ) ;
627624 deleted = this . items ;
628625 this . items = inserted ;
0 commit comments