alienzhou / web-highlighter

✨ A no-runtime dependency lib for text highlighting & persistence on any website ✨🖍️
https://alienzhou.github.io/web-highlighter/
MIT License
890 stars 144 forks source link

如何阻止跨行标注呢? #35

Closed xulijing626 closed 4 years ago

xulijing626 commented 4 years ago

现状 :一次能标记好几行的数据 期望: 只能一行一行的标记,不允许跨行标记

xulijing626 commented 4 years ago

就是希望一次标记不能标不同parentIndex的数据

alienzhou commented 4 years ago

可以试下 SelectedNodes 钩子,它支持在高亮前把一些节点过滤掉。

钩子方法的入参是目前选中的所有节点,需要在方法里返回最终被高亮的部分。默认情况下相当于全部返回。

结合你的期望,例如可以判断,如果parentid不同就返回空数组(相当于禁止高亮),或者只取其中一部分。

钩子的说明可以看这里:https://github.com/alienzhou/web-highlighter/blob/master/docs/ADVANCE.zh_CN.md#renderselectednodes

注意,在通过持久化数据还原选区的之前,也要加上这个钩子方法的过滤。

xulijing626 commented 4 years ago

解决了、谢谢