Изменение значений чисел в CodeMirror с помощью аддона очистки

У меня проблемы с CodeMirror. Я пытаюсь добавить в живую чистку чисел, подобный примеру Бретта Виктора, и возможности Академии Хана, но мне не слишком везет.

Я не могу публиковать ссылки, но я нашел эту библиотеку, которая выполняет свою работу (сделанную пользователем FWeinb на GitHub), которая может отчасти выполнить то, что я ищу, но я заметил, что, хотя цифры кажутся были изменены, как только я сделаю что-то вроде нажатия 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>, но фактические базовые данные не обновляются с помощью скруббера и не сохраняются. Может кто-нибудь пролить некоторый свет на то, что я должен делать здесь, чтобы значение переменной в редакторе обновлялось в реальном времени с помощью скруббера, и чтобы значение сохранялось при новом действии?

0 ответов

Другие вопросы по тегам