2017-10-12 52 views
0

我已經在反應應用程序中使用了反應引導程序(https://react-bootstrap.github.io/components.html#btn-groups-checkbox-radio)中的切換按鈕。我想要檢查價值,但它總是告訴我undefined。其他表單控件越來越容易。請幫忙。下面是代碼:使用反應中的參數獲取ToggleButton(react-bootstrap)的檢查值

<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> 

,並在我的反應功能,我使用如下:

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); 

在上面的代碼中,出發和到達的有來自用戶的價值,但journeyType總是有undefined。這是因爲react-dom將ToggleButtonGroup渲染爲div內的無線電。即使使用,journeyType: findDOMNode(this.refs.journeyType.checked).value,也無法正常工作。

希望收到你的來信,一切。謝謝

回答

0

我覺得用單選按鈕我們用.checked而不是.value。所以不需要.value

嘗試journeyType: findDOMNode(this.refs.journeyType).checked

+0

實際上不工作! – Owais