我正在尝试在我的前端代码上实现sharedb操作。我目前使用它,以便它在我的react组件触发其onChange事件时提交一个操作(https://github.com/ottypes/json0),具体地说是text0。例如:
如果我的文本是:Hello World
我删除了l,使其成为Hello Word
然后在结尾处添加s,使其成为Hello Words
我想让我的OT文本差异具有提交给其他客户端的操作(除非这是错误的)。
[{p: 9, d: 'l'}, {p: 10, i: 's'}]
使用库或手动生成这些操作的最佳方式是什么?我考虑过使用diff库,但它没有给出操作发生在哪里的任何索引,尽管给出了插入和删除操作是什么。
发布于 2018-03-16 02:54:57
您可以使用浏览器提供的选择属性和onkeydown事件来手动构建变更集,也可以使用不同的库,例如Neil Fraser的https://www.npmjs.com/package/diff_match_patch对我非常有用(免责声明:我是该包的发布者)。
https://stackoverflow.com/questions/49283767
复制相似问题