问题描述
在ant-dialog中嵌套使用List的滚动加载功能,vue-infinite-scroll配合使用时,滚动和初始时,都无法触发loadmore
问题链接:https://github.com/ElemeFE/vue-infinite-scroll/issues/147、
1.弹窗启动时,未经过mounted生命周期,所以未绑定成功滚动事件
2.获得监听滚动函数的element时(getScrollEventTarget),也就是滚动的容器时,未能拿到overflowY的值,是根据这个值去返回当前滚动容器的元素。否则拿不到返回window的值
const ctx = '@@InfiniteScroll';
let throttle = function (fn, delay) {
let now, lastExec, timer, context, args; //eslint-disable-line
let execute = function () {
fn.apply(context, args);
lastExec = now;
};
return function () {
context = this;
args = arguments;
now = Date.now();
if (timer) {
clearTimeout(timer);
timer = null;
}
if (lastExec) {
let diff = delay - (now - lastExec);
if (diff < 0) {
execute();
} else {
timer = setTimeout(() => {
execute();
}, diff);