2017-10-12 1 views
0

Ich habe eine Umschalttaste von react-bootstrap (https://react-bootstrap.github.io/components.html#btn-groups-checkbox-radio) in einem meiner Form in react Anwendung verwendet. Ich möchte die überprüfen Wert bekommen, aber es zeigt mir immer undefined. Andere Formularsteuerelemente werden einfach. Bitte, helfen Sie. Unten ist der Code:get checked value von ToggleButton (react-bootstrap) mit refs in react

const sortQuery = { 
     departure: findDOMNode(this.refs.departure).value, 
     arrival: findDOMNode(this.refs.arrival).value, 
     journeyType: findDOMNode(this.refs.journeyType).value 
    }; 
    console.log(sortQuery); 
    this.props.handleSort(sortQuery); 

In obigen Code, Abflug- und Ankunfts haben Werte vom Benutzer aber die journeyType immer :

<Row> 
     <Col xs={12} sm={8} md={6}> 
        <FormGroup controlId="journeyType" validationState={ this.props.validation }> 
         <ButtonToolbar> 
         <ToggleButtonGroup type="radio" name="journeyType" defaultValue={"cheapest"} ref="journeyType"> 
          <ToggleButton value={"cheapest"} bsStyle="primary">Cheapest</ToggleButton> 
          <ToggleButton value={"fastest"} bsStyle="primary">Fatest</ToggleButton> 
         </ToggleButtonGroup> 
         </ButtonToolbar> 
         <FormControl.Feedback /> 
        </FormGroup> 
    </Col> 
</Row> 

und in meiner Funktion reagieren, ich unten bin mit undefined. Das liegt daran, dass read-dom die ToggleButtonGroup als Radio in divs rendert. Selbst wenn verwendet, journeyType: findDOMNode(this.refs.journeyType.checked).value, funktioniert auch nicht.

Ich hoffe, von Ihnen zu hören, alle. Danke

Antwort

0

Ich denke mit Radioknöpfen verwenden wir .checked anstelle von .value. Es gibt also keine Notwendigkeit für die .value.

Versuchen Sie journeyType: findDOMNode(this.refs.journeyType).checked.

+0

funktioniert nicht, eigentlich! – Owais