質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

0回答

1707閲覧

react-codemirror2でスクロールバーが表示されず、スクロールされない

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

1クリップ

投稿2019/04/03 08:14

実現したいこと

react-codemirror2を使って大量の文字を入力してもCodeMirrorのエディターの中でスクロールしたい

発生している問題

スクロールバーが表示されず、スクロールされない

関連するソースコード

Javascript

1//index.js 2import ReactDOM from 'react-dom'; 3import App from './App.js'; 4import './style.scss'; 5import 'codemirror/theme/material.css'; 6import 'codemirror/lib/codemirror.css'; 7import 'codemirror/addon/scroll/simplescrollbars.css'; 8 9 10ReactDOM.render( 11 <App />, 12 document.querySelector('#app') 13);

JavaScript

1//App.js 2import React from 'react'; 3import Core from './components/core'; 4import MyHeader from './components/header'; 5export default class App extends React.Component { 6 render(){ 7 return (<div id="body"><MyHeader /><Core /></div>); 8 } 9}

JavaScript

1//header.js 2import React from 'react'; 3 4export default class MyHeader extends React.Component { 5 render(){ 6 return ( 7 <header> 8 <h1>MarkDown Editor</h1> 9 </header>); 10 } 11}

JavaScript

1//core.js 2import React from 'react'; 3import {Controlled as CodeMirror} from 'react-codemirror2'; 4import 'codemirror/mode/markdown/markdown'; 5import 'codemirror/mode/gfm/gfm'; 6import 'codemirror/addon/display/placeholder'; 7import 'codemirror/addon/scroll/simplescrollbars'; 8 9const options = { 10 mode: 'gfm', 11 theme:'material', 12 lineNumbers:true, 13 placeholder: 'Write Markdown here', 14 lineWrapping: true, 15 scrollbarstyle:'simple' 16}; 17 18export default class Core extends React.Component { 19 constructor(props){ 20 super(props); 21 this.state = { 22 cmvalue:'' 23 }; 24 } 25 render(){ 26 return ( 27 <div id="core"> 28 <CodeMirror options={options} 29 value={this.state.cmvalue} 30 onBeforeChange={(editor, data, cmvalue)=>{ 31 this.setState({cmvalue}); 32 }} 33 onChange={(editor,data,value)=>{}} /> 34 </div> 35 ); 36 } 37}

CSS

1//codemirror.cssの追加・変更した部分 2.react-codemirror2{ 3 height:100%; 4 font-family: inherit; 5} 6 7.CodeMirror { 8 /* Set height, width, borders, and global font properties here */ 9 font-family: inherit; 10 height: 100%; 11 color: black; 12 direction: ltr; 13} 14.CodeMirror-placeholder{ 15 color: #777!important; 16} 17

CSS

1html {font-size: 62.5%;} 2 3body {font-family: 'Helvetica','Arial','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Yu Gothic UI','メイリオ', Meiryo,sans-serif; 4 color: #333; 5 font-size: 1.6rem; 6 } 7 8 html, 9 body, 10 p, 11 ol, 12 ul, 13 li, 14 dl, 15 dt, 16 dd, 17 blockquote, 18 figure, 19 fieldset, 20 legend, 21 textarea, 22 pre, 23 iframe, 24 hr, 25 h1, 26 h2, 27 h3, 28 h4, 29 h5, 30 h6 { 31 margin: 0; 32 padding:0; 33 } 34 35 #app{ 36 line-height: 1.7; 37 }

scss

1//style.scss 2body { 3 #app { 4 #body { 5 height: 100vh; 6 display: grid; 7 grid-template-columns: 1fr 1fr; 8 grid-template-rows: 1fr 9fr; 9 header { 10 position: relative; 11 background-color: #f8f8f8; 12 border: 1px solid #e7e7e7; 13 grid-row: 1/2; 14 grid-column: 1/3; 15 h1 { 16 position: absolute; 17 top: 50%; 18 left: 50%; 19 transform: translate(-50%, -50%); 20 } 21 } 22 #core { 23 grid-row: 2/3; 24 grid-column: 1/2; 25 } 26 } 27 } 28}

環境

"codemirror": "^5.45.0"
"react-codemirror2": "^5.1.0"
"react": "^16.8.6"
"react-dom": "^16.8.6"
"live server":"5.5.1"
"chrome":73.0.3683.86(Official Build)(64 ビット)
"webpack": "^4.29.6"
"@babel/core": "^7.4.0"
"@babel/preset-env": "^7.4.2"
"@babel/preset-react": "^7.0.0"
"babel-loader": "^8.0.5"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問