Fixed #4723 - DataTable: #loading templates broken with lazy virtual scroller
parent
d56461080c
commit
5663e4e879
|
@ -83,8 +83,10 @@ export default {
|
||||||
numToleratedItems(newValue) {
|
numToleratedItems(newValue) {
|
||||||
this.d_numToleratedItems = newValue;
|
this.d_numToleratedItems = newValue;
|
||||||
},
|
},
|
||||||
loading(newValue) {
|
loading(newValue, oldValue) {
|
||||||
|
if (this.lazy && newValue !== oldValue && newValue !== this.d_loading) {
|
||||||
this.d_loading = newValue;
|
this.d_loading = newValue;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
items(newValue, oldValue) {
|
items(newValue, oldValue) {
|
||||||
if (!oldValue || oldValue.length !== (newValue || []).length) {
|
if (!oldValue || oldValue.length !== (newValue || []).length) {
|
||||||
|
@ -506,11 +508,12 @@ export default {
|
||||||
onScroll(event) {
|
onScroll(event) {
|
||||||
this.$emit('scroll', event);
|
this.$emit('scroll', event);
|
||||||
|
|
||||||
if (this.delay && this.isPageChanged()) {
|
if (this.delay) {
|
||||||
if (this.scrollTimeout) {
|
if (this.scrollTimeout) {
|
||||||
clearTimeout(this.scrollTimeout);
|
clearTimeout(this.scrollTimeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.isPageChanged()) {
|
||||||
if (!this.d_loading && this.showLoader) {
|
if (!this.d_loading && this.showLoader) {
|
||||||
const { isRangeChanged } = this.onScrollPositionChange(event);
|
const { isRangeChanged } = this.onScrollPositionChange(event);
|
||||||
const changed = isRangeChanged || (this.step ? this.isPageChanged() : false);
|
const changed = isRangeChanged || (this.step ? this.isPageChanged() : false);
|
||||||
|
@ -526,6 +529,7 @@ export default {
|
||||||
this.page = this.getPageByFirst();
|
this.page = this.getPageByFirst();
|
||||||
}
|
}
|
||||||
}, this.delay);
|
}, this.delay);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.onScrollChange(event);
|
this.onScrollChange(event);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import BaseStyle from 'primevue/base/style';
|
import BaseStyle from 'primevue/base/style';
|
||||||
|
|
||||||
const css = `
|
const css = `
|
||||||
|
@layer primevue {
|
||||||
.p-virtualscroller {
|
.p-virtualscroller {
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
@ -61,6 +62,7 @@ const css = `
|
||||||
.p-virtualscroller-inline .p-virtualscroller-content {
|
.p-virtualscroller-inline .p-virtualscroller-content {
|
||||||
position: static;
|
position: static;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export default BaseStyle.extend({
|
export default BaseStyle.extend({
|
||||||
|
|
Loading…
Reference in New Issue