Size: a a a

2021 September 14

YK

Yury Khmarin in JS
https://codesandbox.io/s/romantic-shaw-p1thp?file=/src/InteractiveImage/InteractiveImage.js

Здравствуйте! Помогите плиз реализовать задачу. Допустим с сервера приходят svg , у которых все path-ы содержат аттрибут data-name. С этим аттрибутом планируются дальнейшие манипулции. На все path, которые содержат аттрибут data-name, должна быть повешана всплывающая подсказка библиотеки tippy.js . Я так понял реактовскую либу @tippyjs/react в данном случае не применить для path, так как они приходят с сервера в виде html. Но если засовывать в content компонент, то выдаёт [object Object]. Прошу помощи!
источник

К

Кирилл in JS
Передавай content: TippyContent
источник

YK

Yury Khmarin in JS
это ванильная джс либа, она не сможет отрендерить компонент реакта)
источник

V

Veli in JS
источник

YK

Yury Khmarin in JS
TippyContent д.б. компонентом реакта
источник

V

Veli in JS
можешь передать туда пустую дивку и отрендерить в нее через ReactDOM как вариант))
источник

V

Veli in JS
если речь идет именно о ванильном JS варианте
источник

YK

Yury Khmarin in JS
Я так и сделал 😂 но думаю что это не реакт вэй хех
источник

YK

Yury Khmarin in JS
В процессе разработки проекта мне много такого придется делать походу
источник

V

Veli in JS
можешь циклом пробежаться по path, отрендерить tippy/react и внутри него через innerHTML отрендерить сами свгшки
источник

V

Veli in JS
как вариант
источник

V

Veli in JS
имею ввиду через аттрибут dangerouslySetInnerHTML
источник

YK

Yury Khmarin in JS
Вот это немного не понял расскажи плиз подробнее
источник

V

Veli in JS
ну смотри, я полностью задачу твою не изучил, но тебе с сервера прилетает свг, внутри которых есть path, которые нужно отрендерить внутри подсказок tippyjs, так?

Значит ты можешь сделать что-то такое:
источник

V

Veli in JS
типа бить верстку в свг на массив path, потом циклом просто рендерить эти path внутри свг, но заворачивать каждый path в тултип (надеюсь оно не генерит никакую верстку, ломающую svg)
источник

V

Veli in JS
либо вообще брать контент и аттрибуты path, рендерить path, внутрь него через dangsetinnerhtml вставлять верстку, а аттрибуты спредить на этот path
источник

V

Veli in JS
чтобы лишних элементов не появлялось (ну кроме элемментов типпи, если они есть)
источник

V

Veli in JS
источник
2021 September 15

YK

Yury Khmarin in JS
мне прилетают целые свг, а не чисто их path, кроме того атрибутами data-name могут обладать слои тоже, а не только path)
источник
2021 September 16

V

Veli in JS
Я подразумевал ручной парсинг и разбивку свг на элементы

Да проще тогда реакт дом рендер сделать и все, хоть у тебя и будет создаваться новый виртуальный дом на каждый микроэлементик, насколько ч понимаю
источник