【发布时间】:2019-07-18 02:23:35
【问题描述】:
我正在尝试制作组件Highlight,它可以:
- 了解用户选择/突出显示的内容(鼠标按下并拖动到文本上)
- 显示突出显示的文本(为上述选定文本着色)
- 可以处理这种情况的多个实例。
查看图片了解我的目标:
来自 google、StackExchange、Medium 帖子等,我有一个组件可以找出用户突出显示的文本:
这主要取自freecodecamp 的这篇中等帖子,它使用基于slot 的方法。
对于突出显示的文本的实际呈现,我发现的大多数示例都是通过正则表达式实现的,并将原始文本替换为跨度或其他内容(例如vue-text-highlight)。
这两种方法自然是格格不入的。它可能适用于突出显示一次,但如果将原始文本更改为现在包含 span 元素,则后续或重新选择将不起作用。
所以我想知道是否有人有任何想法来克服这个问题。
在上面的图片中,我展示了我将使用这个突出显示组件来做什么(链接两个不同的文本实例),但目前我认为这些图片通过选择和突出显示文本阐明了我的意思。
【问题讨论】:
-
你需要保持高亮的状态。然后,您需要保持一个将一个高亮链接到另一个高亮显示的状态,并对它们进行类似的颜色编码。我可能很快就会对此有所了解 - 看起来很有趣
-
好了,看看下面的答案。
标签: javascript vue.js vuejs2 vue-component