我在使用 CodeMirror 时遇到问题。我正在尝试添加实时号码清理,类似于 Brett Victor 的示例,以及可汗学院的能力,但我没有太多运气。
我无法发布链接,但我发现这个库可以完成工作(由 GitHub 上的用户 FWeinb 制作),它可以完成我正在寻找的东西,但我注意到虽然数字似乎已更改,只要我enter在 CodeMirror 中执行类似按下的操作,变量的值就会重置为原来的值。
我正在使用 ReactJS,但我不太确定如何解决这个问题。this.replaceRange
每次更改内容时,我都会通过调用来尝试一些可笑的事情,但必须有更好的方法。这是我的代码片段。这不是我想要的理想状态,只是为了测试目的:
this.cm.on('dblclick', this.handleDblClick.bind(this))
...
handleDblClick() {
let matches = document.querySelectorAll(".cm-number");
let scrub = new Scrubbing (matches[0],
{ driver :
[
Scrubbing.driver.Mouse,
Scrubbing.driver.MouseWheel,
Scrubbing.driver.Touch
]
})
matches[0].addEventListener('DOMSubtreeModified', () => {
//console.log('change detected')
})
}
所以我知道目前洗涤器编辑了这个:<span class="cm-number"></span>
,但实际的基础数据没有用洗涤器更新,也没有持久化。任何人都可以阐明我应该在这里做什么,以便编辑器中的变量值随着洗涤器实时更新,并且该值在新操作时仍然存在?