首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >executeEdits重置我的编辑操作范围

executeEdits重置我的编辑操作范围
EN

Stack Overflow用户
提问于 2018-12-20 17:30:29
回答 1查看 471关注 0票数 1

我试图在摩纳哥编辑器中对事件进行一些基本的回放,但是,每当我将编辑传递给executeEdits时,它总是将我的编辑的range重置为{ startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 } (如果我在调用executeEdits后生成消息,就会得到这个消息)。实际上,我试图插入或替换的任何文本总是在第一行开头结束,并有效地反向键入文本。

代码语言:javascript
复制
import * as React from 'react'
import * as monaco from 'monaco-editor'

import { PlayerContext } from './player-context'

const defaultOptions = {
  minimap: {
    enabled: false
  }
}

export default class MonacoEditor extends React.Component {
  static contextType = PlayerContext

  handleMessage = message => {
    this._editor.executeEdits('', [
      { ...message, forceMoveMarkers: true }
    ])
  }

  componentDidMount() {
    const { path, value, language, ...options } = this.props
    const model = monaco.editor.createModel(value, language, path)
    this._editor = monaco.editor.create(this._node, {
      ...defaultOptions,
      ...options
    })
    this._editor.setModel(model)
    this.context.addMessageHandler('didChange', this.handleMessage)
  }

  componentWillUnmount() {
    this._editor && this._editor.dispose()
    this.context.removeMessageHandler('didChange', this.handleMessage)
  }

  render() {
    return <div style={{ height: 500 }} ref={c => (this._node = c)} />
  }
}

我正在使用react渲染摩纳哥编辑器,如上面所示。上下文提供了一个对象,它基本上允许我订阅回放事件,传递给handleMessagehandleMessage对象的形状是IIdentifiedSingleEditOperation

代码语言:javascript
复制
{
  range: {
    startLineNumber: 0, 
    startColumn: 47, 
    endLineNumber: 0, 
    endColumn: 47
  },
  text: '!'
}

为什么摩纳哥要重置我的编辑操作范围?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-06 16:42:34

关于IIdentifiedSingleEditOperation的文档显示在range属性上:

要替换的范围。这可以是空的,以模仿一个简单的插入。

因此,您应该能够传递一个空对象,编辑操作将被追加。

但是,班级声明行号和列从1开始,而不是0。由于给定的范围应该描述文本中应该被替换为的部分,而不是应该附加操作的位置,这使得摩纳哥替换了(无效)范围。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53873485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档