Изменить содержимое Tippy экземпляра делегата - PullRequest
0 голосов
/ 27 апреля 2020

Я использую библиотеку Tippy. js v6 , и я изо всех сил пытаюсь понять, как изменить содержимое любого из моих экземпляров, используя метод делегата. Все ответы, которые я нашел на эталонных методах SO, которые больше не доступны в v6.

Я использую v6 через CDN.

Текущий код делегата

// 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}`
});

В основном мне нужно знать, как настроить таргетинг на конкретный экземпляр c и обновить содержимое. Я должен использовать метод делегата (из того, что я понимаю), поскольку контент динамически добавляется на страницу.

1 Ответ

0 голосов
/ 03 мая 2020

Следующий код - это то, как я заставил его работать, основываясь на выпуске # 767 и выпуске # 774 на оригинальном репозитории GitHub

const viewBtnIcon = viewBtn.querySelector('i');
if (viewBtnIcon._tippy) {
    viewBtnIcon._tippy.setContent(`View ${data.name}`);
} else {
    viewBtnIcon.dataset.tippyContent = `View ${data.name}`;
}
...