1

我正在使用Tippy.js v6库,我正在努力研究如何使用委托方法更改我的任何一个实例的内容。我在 v6 中不再提供的 SO 参考方法上找到的所有答案。

我通过 CDN 使用 v6。

当前委托代码

// Delegate tippy
const delegateInstances = tippy.delegate("#order__lines-table", {
  target: "[data-tippy-content]"
});

如果我console.log(delegateInstances)这样做,我会得到一个包含我的项目的数组,但我似乎无法解决如何在此处定位 1 个单个实例。

我正在做的一个例子是,当您单击一个按钮时,它的状态会切换并且我希望更新提示内容。我已经这样做了,如下所示,但它们只是堆叠在一起,旧内容不会被删除。

const viewBtnIcon = viewBtn.querySelector('i');
viewBtnIcon.dataset.tippyContent = `View ${data.name}`;
tippy(viewBtnIcon, {
  content: `View ${data.name}`
});

基本上我需要知道如何定位特定实例并更新内容。我必须使用委托方法(据我了解),因为内容是动态添加到页面的。

4

1 回答 1

0

以下代码是我根据原始 GitHub 存储库中的问题 #767问题 #774使其工作的方法

const viewBtnIcon = viewBtn.querySelector('i');
if (viewBtnIcon._tippy) {
    viewBtnIcon._tippy.setContent(`View ${data.name}`);
} else {
    viewBtnIcon.dataset.tippyContent = `View ${data.name}`;
}
于 2020-05-03T07:00:14.340 回答