javascript - Svelte:如何在嵌套组件上实现 use:tippy
问题描述
我发现svelte-tippy
工具提示库Tippy.js的实现,我理解它是一个 Svelte Action,即它使用use:tippy
属性,如下所示:
<button use:tippy={props}>
Hover me
</button>
我将如何为热图实现 Tippy.js 工具提示?配置(至少true
/false
用于使用工具提示,还有一些模板或函数用于实际工具提示内容)将发生在顶级组件 ( SvelteHeatmap
) 中,但实际实现将发生在Cell
代表一天的级别上,使用Month
或Week
组件,分别位于两者之间,并且将基于顶层提供的配置。
由于我想为Svelte Heatmap组件建议一个拉取请求,但我只是一个 Svelte 初学者,我想获得一些关于它如何工作或应该如何工作的通用解释。官方文档有一些关于 Actions 的信息,但并不是这类事情的最佳实践(虽然我可能错了)。
注意我已经进行了基本测试以确保它适用于 SVG,确实如此。
解决方案
我找不到任何可以清楚地解释如何做到这一点的东西。经过一番摆弄后,我想出了这个用法
<div id="my_selector"></div>
<div id="nested_elements">
<button>Option_1</button>
<button>Option_2</button>
<button>Option_3</button>
</div>
<script src="https://unpkg.com/@popperjs/core@2"></script>
<script src="https://unpkg.com/tippy.js@6"></script>
tippy('#my_selector', {
content: document.querySelector('#nested_elements').innerHTML,
interactive: true,
allowHTML: true,
});
推荐阅读
- ios - 在 App Distribution 中上传的新应用版本不会显示在 Crashlytics 中
- python - 高阶类别重叠分析
- json - 如何将解析的 json 文件从 json 转换回 json?
- python - 如何在字典中获取匹配子字符串键并在 Python 上返回相应的值?
- github - 如何从没有行号的github复制代码?
- node.js - 如何将 MongoDB 查询从 Node.js 驱动程序格式调整为 Mongoose 格式
- spring - 每个线程环境的上下文中单例范围的 Spring Bean 的线程安全
- insert - couchbase upsert/insert 以 ttl 静默失败
- database - 在不同服务器上安装 Pimcore 数据库
- android - 使用 itemtouchhelper 在另一个回收器视图的项目中使用回收器视图