2017-07-19 5 views
0

Ich versuche, Wert in einen Eingabetext zu bekommen und es mit react-bootstrap zu einem Textbereich hinzuzufügen.Wert des Eingabetextes mit react-bootstrap erhalten

Ich weiß, dass ich ReactDOM.findDOMNode verwenden muss, um Wert mit ref zu erhalten. Ich verstehe nicht, was falsch ist.

Hier mein Code:

import React from 'react'; 
import logo from './logo.svg'; 
import ReactDOM from 'react-dom'; 
import { InputGroup, FormGroup, FormControl, Button} from 'react-bootstrap'; 
import './App.css'; 
class InputMessages extends React.Component { 
constructor(props) { 
super(props); 
this.handleChange =  this.handleChange.bind(this); 
    this.GetMessage= this.GetMessage.bind(this); 
this.state = {message: ''}; 
} 
handleChange(event) 
{  
this.setState({message: this.GetMessage.value}); 
} 
GetMessage() 
{ 
return ReactDOM.findDOMNode(this.refs.message ); 
} 
render() { 
    var message = this.state.message; 
    return(
<FormGroup > 
<FormControl 
componentClass="textarea" value={message} /> 
<InputGroup> 
<FormControl type="text" ref='message' /> 
    <InputGroup.Button> 
    <Button bsStyle="primary" onClick={this.handleChange}>Send 
    </Button> 
    </InputGroup.Button> 
    </InputGroup> 
    </FormGroup> 
    ); 
    } 
    } 
    export default InputMessages; 
+2

Wenn um Hilfe zu bitten, wobei die Zeit, Ihren Code vernünftig und konsistent zu formatieren, wird Ihnen wahrscheinlich helfen, bessere/schnellere Antworten zu erhalten. Denken Sie auch daran, Ihre Frage mit einem ** runnable ** [mcve] zu aktualisieren, indem Sie Stack Snippets (die '[<>]' Symbolleistenschaltfläche) verwenden. Stack Snippets unterstützen Reagieren, einschließlich JSX; [hier geht's] (http://meta.stackoverflow.com/questions/338537/). –

Antwort

0

einen Eingang ref zum Formular hinzufügen:

<FormControl inputRef={ref => { this.myInput = ref; }} /> 

so bekommen Sie den Wert wie

this.myInput.value 
+0

Eingabe ist nicht auf React-Bootstrap, ich möchte es nicht verwenden – Vana

+0

@Vana Ich habe die Antwort bearbeitet. – Fawaz

+0

Es funktioniert, aber ich speichere Werte im Zustand. Ich möchte es in Variable speichern. Ich verwende 2 Komponenten, daher kann ich diesen.myinput.value nicht in andere Komponente schreiben – Vana

Verwandte Themen