如何处理Reactstrap下拉列表中的选择

时间:2019-01-24 20:18:25

标签: reactjs dropdown

我必须通过选择下拉按钮来存储汽车型号

<Dropdown  direction="down" isOpen={this.state.dropdownOpen} toggle={this.toggle} >
    <DropdownToggle caret outline color="info">
                    Select your Vehicle Type 
    </DropdownToggle>
    <DropdownMenu onChange={this.handleChange} name="carType" >
    <DropdownItem name="classic">Classic</DropdownItem>
    <DropdownItem name="deluxe">Deluxe</DropdownItem>
    <DropdownItem name="luxury">Luxury</DropdownItem>
    <DropdownItem name="superLuxury">Super Luxury</DropdownItem>
    <DropdownItem name="limousine">Limousine</DropdownItem>
    <DropdownItem name="exo">Exotic Cars</DropdownItem>
</DropdownMenu>

我的onChange函数是

handleChange = event => {
    this.setState({ 
        [event.target.name]: event.target.value
    });
};

选择下拉按钮时,我无法获取值。请提示将值存储到数据库中

1 个答案:

答案 0 :(得分:2)

要获得带反应带的下拉菜单的价值:

<Dropdown  direction="down" isOpen={this.state.dropdownOpen} toggle={this.toggle} >
    <DropdownToggle caret outline color="info">
                    Select your Vehicle Type 
    </DropdownToggle>
    <DropdownMenu name="carType" >
    <DropdownItem name="classic" value="classic" onClick={this.handleChange} >Classic</DropdownItem>
    <DropdownItem name="deluxe" value="deluxe" onClick={this.handleChange} >Deluxe</DropdownItem>
</DropdownMenu>

所做的更改:

    1. onClick不能用于onChange。
    2. handleClick正在读取实际单击的选项,因此它位于DropdownItem上。
    3. 您要的是event.target.value,但是您没有“值”,因此我添加了它。如果您想使用 您将使用event.target.innerText
    4. 的DropdownItem