2017-09-28 18 views
2
<CodeEditor mode='python' 
      width='100%' 
      height='600px' 
      value={'var x = 2;'} 
      onBlur={(e, code) => this.onBlur(e, code)}/> 

및 onblur 함수를 반환하지 않습니다'도 편집기 내에서 코드를 작성 후. onBlur에서 코드를 가져올 방법이 있습니까? onChange를 사용하지 않고 ???반응 에이스 에디터의 및 onblur 이벤트가</p> <pre><code>onBlur(e, code) { console.log(code); console.log(e.target.value); } </code></pre> <p>e.target.value이 '는 값을

+0

'및 onblur = {(E 코드) => this.onChange (예, 코드)}'이해야 이벤트 호출? 안 그래? –

+0

죄송합니다, 저의 실수는 질문을 업데이트했습니다. –

+0

'e.target.value'는 매번 텍스트 상자에 텍스트가 없을 때''''를 반환합니까? –

답변

-1

ReactAce는 편집기의 가치를 제공하지 않으며 e.target은 비어있는 에이스에서 사용하는 가짜 텍스트 영역이므로 에이스 인스턴스를 가져올 방법이 필요합니다. 이 같은

뭔가 :

render = function() { 
    var options = {}; 
    var reactAce; 
    return <div>   
     <ReactAce 
      style={{ height: '400px' }} 
      ref={ 
       instance => { 
        // store the ref to reactAce 
        reactAce = instance; 
       } 

      } 
      onBlur={ 
       (e) => { 
        // get value of the editor 
        console.log(reactAce.editor.getValue()); 
       } 
      } 
      /> 
    </div>; 
}