代码之家  ›  专栏  ›  技术社区  ›  Chaim Friedman

react monaco编辑器文本显示在编辑器的中间,尽管光标位于行的开头

  •  0
  • Chaim Friedman  · 技术社区  · 6 年前

    我创建了一个简单的react应用程序 react-monaco-editor

    import React, { Component } from 'react';
    import MonacoEditor from 'react-monaco-editor';
    import './App.css';
    
    const code = `
    import React from "react";
    
    class App extends React.Component {
        render() {
            return (
                <span>I mean really come one</span>
            );
        }
    }
    
    export default App;
    `;
    
    class App extends Component {
    
      onChange = (value) => {
        console.log(value);
      }
    
      editorDidMount = (editor, monaco) => {
        console.log('editorDidMount', editor);
        editor.focus();
      }
    
      render() {
        const options = {
          selectOnLineNumbers: true
        };
        return (
          <div className="App">
            <MonacoEditor
              height="600"
              width="600"
              language="javascript"
              theme="vs-dark"
              value={code}
              onChange={this.onChange}
              editorDidMount={this.editorDidMount}
            />
          </div>
        );
      }
    }
    
    export default App;
    

    由于某种原因,编辑器中的文本显示在中间,而我的光标与预期的一样是行首。

    editor screenshot

    0 回复  |  直到 6 年前
        1
  •  1
  •   Gergely Tarkó    5 年前

    这可能是一个老问题,但在React的默认App.css中有一行设置文本居中对齐。 如果与此类似:

    .App {
      text-align: center;
    }
    
    .App-logo {
      height: 40vmin;
    }
    
    .App-header {
      background-color: #282c34;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: calc(10px + 2vmin);
      color: white;
    }
    
    .App-link {
      color: #09d3ac;
    }
    

    .App {
      text-align: center;
    }