elementClosest fullcalendar v4.3.1 非法调用

问题描述 投票:0回答:1

我在 Salesforce LWC 中使用 fullcalendar 库 v4.3.1。在沙盒中一切正常,直到我在一个事件中单击并出现以下错误:

aura_prod.js:999 Uncaught TypeError: Illegal invocation
throws at https://mybts--partial.sandbox.my.site.com/....../fullcalendar/packages/core/main.js:126:30 TypeError: Illegal invocation
    at elementClosest (main.js:126:30)
    at DateComponent.isValidDateDownEl (main.js:4070:25)
    at DateClicking._this.handlePointerDown (main.js:1128:57)
    at applyAll (main.js:988:36)
    at EmitterMixin.triggerWith (main.js:3523:17)
    at EmitterMixin.trigger (main.js:3518:18)
    at HitDragging.handlePointerDown (main.js:988:35)
    at applyAll (main.js:988:36)
    at EmitterMixin.triggerWith (main.js:3523:17)
    at EmitterMixin.trigger (main.js:3518:18)

我已经尝试了很多次我在其他线程上发现的内容(例如:https://github.com/fullcalendar/fullcalendar/issues/4990)。许多人分享了这个解决方案:

在 core/main.js 第 126 行改变这个:

function elementClosest(el, selector) {
  return closestMethod.call(el, selector);
}

对此:

function elementClosest(el, selector) {
 return el.closest(selector);
}

但是那个解决方案对我不起作用。当我将库上传到具有该更改的静态资源时,我收到加载错误并且未加载 fullcalendar 库,因为它可以加载 core/main.js.

我也尝试过其他版本,但没有成功。 有人可以帮忙吗?

从一个版本更改为另一个版本。

javascript fullcalendar fullcalendar-4 lwc
1个回答
1
投票

解决方案: 我已经成功地完成了这项工作。我刚刚意识到我没有正确设置路径静态源。

我确认此解决方案适用于 lwc 中的 fullcalendar 库。

在 core/main.js 的第 126 行更改为:

function elementClosest(el, selector) {
 return el.closest(selector);
}

然后,您可能必须对

function elementMatches()
正下方的
function elementClosest()
执行相同的操作。我必须这样做并且成功了:

改变这个:

function elementMatches(el, selector) {
 return el.closest(selector);
}

对此:

function elementMatches(el, selector) {
 return el.matches(selector);
}
© www.soinside.com 2019 - 2024. All rights reserved.