如何使用 React JS 插入下拉列表 [英] How to insert a dropdown using React JS
问题描述
import React, { Component } from 'react';从反应路由器"导入{链接}import { Dropdown, DropdownMenu, DropdownItem, Progress } from 'reactstrap';从redux-react-session"导入会话;从 '../BeaconSettings' 导入 BeaconSettings;类 NewBeacon 扩展组件 {构造函数(道具){超级(道具);this.state = {输入名称:'',输入说明: '' ,输入区: '' ,输入存储: '' ,输入层:''};this.handleName = this.handleName.bind(this);this.handleDescription = this.handleDescription.bind(this);this.handleZone = this.handleZone.bind(this);this.handleStore = this.handleStore.bind(this);this.handleFloor = this.handleFloor.bind(this);this.handleSubmit = this.handleSubmit.bind(this);//警报(嘿");this.toggleStore = this.toggleStore.bind(this);this.toggleFloor = this.toggleFloor.bind(this);this.toggleZone = this.toggleZone.bind(this);this.state = {下拉区域:假};this.state ={下拉商店:假};this.state ={下拉地板:假};this.state = {数据:[{name:"Nikko Laus1"},{名称:山姆柯林斯"},{名称:卡尔·史密斯·韦森"}],店铺:[{名称:"abcd"},{名称:山姆柯林斯"},{名称:卡尔·史密斯·韦森"}],地面:[{name:"Ist"},{名称:IInd"},{名称:IIIrd"}]};}静态上下文类型 = {路由器:React.PropTypes.object.isRequired}处理提交(事件){警报('提交:' + this.state.inputname + this.state.inputdescription + this.state.inputzone + this.state.inputstore + this.state.inputfloor);event.preventDefault();this.context.router.push('/components/BeaconSettings');}切换区(){this.setState({dropdownZone: !this.state.dropdownZone});}切换存储(){this.setState({dropdownStore: !this.state.dropdownStore});}切换地板(){this.setState({dropdownFloor: !this.state.dropdownFloor});}句柄名称(事件){this.setState({inputname: event.target.value});}句柄描述(事件){this.setState({inputdescription: event.target.value});}处理区(事件){this.setState({inputzone: event.target.value});}处理地板(事件){this.setState({inputfloor: event.target.value});}处理商店(事件){this.setState({inputstore: event.target.value});}使成为() {让 Zone = this.state.data.map(person =>{return });让商店 = this.state.store.map(person =>{return });让楼层 = this.state.floor.map(person =>{return });返回(<div><div><div className="动画淡入淡出"><br/><div className="card" style={{ width: 77 + '%' }}><div className="card-header">创建信标
<div className="卡片块"><div className="input-group mb-1"><span className="input-group-addon"><i className="icon-user"></i></span><input type="text" className="form-control" value={this.state.inputname} onChange={this.handleName} placeholder="Name"/>
<div className="input-group mb-1"><span className="input-group-addon"><i className="fa fa-align-justify"></i></span><input type="textArea" value={this.state.inputdescription} onChange={this.handleDescription} className="form-control" placeholder="Description"/>
<div className="card-header">选择一个区域
<div className="card-block"><div className="px-1 row">区域:<div className="px-2 mb-1"><Dropdown isOpen={this.state.dropdownZone} toggle={this.toggleZone}><input type="text" value={this.state.inputzone} onChange={this.handleZone} className="caret" placeholder="选择一个区域"onClick={this.toggleZone} data-toggle="dropdown" aria-haspopup="true" aria-expanded={this.state.dropdownZone}/><下拉菜单><DropdownItem>{Zone}<divider/></DropdownItem></下拉菜单></Dropdown></div></div></div><div className="card-header">选择商店
<div className="card-block"><div className="px-1 row">存储:<div className="px-2 mb-1"><Dropdown isOpen={this.state.dropdownStore} toggle={this.toggleStore}><input type="text" value={this.state.inputstore} onChange={this.handleStore} className="caret" placeholder="选择商店"onClick={this.toggleStore} data-toggle="dropdown" aria-haspopup="true" aria-expanded={this.state.dropdownStore}/><下拉菜单><DropdownItem>{Store}<divider/></DropdownItem></下拉菜单></下拉菜单></div></div></div><div className="card-header">选择楼层