parent
							
								
									735ff5c517
								
							
						
					
					
						commit
						e44dc226c7
					
				| @ -0,0 +1,123 @@ | ||||
| import React,{ Component } from "react"; | ||||
| import {Menu, Dropdown, Icon,Input,Checkbox} from "antd"; | ||||
| import {getImageUrl} from 'educoder'; | ||||
| const { Search } = Input; | ||||
| class Dropdownbox extends Component{ | ||||
| 	constructor(props){ | ||||
| 		super(props); | ||||
| 		this.state={ | ||||
| 			activeKey:'1', | ||||
| 			visible: false, | ||||
| 			onSearchvalue:undefined, | ||||
| 			checkedValues:[] | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	componentDidMount() { | ||||
| 		let {group_ids}=this.props; | ||||
| 		if(group_ids){ | ||||
| 			this.setState({ | ||||
| 				checkedValues:group_ids | ||||
| 			}) | ||||
| 		} | ||||
| 	} | ||||
| 	componentDidUpdate=(prevProps)=>{ | ||||
| 		if(prevProps!=this.props){ | ||||
| 			let {group_ids}=this.props; | ||||
| 			if(group_ids){ | ||||
| 				this.setState({ | ||||
| 					checkedValues:group_ids | ||||
| 				}) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	SaveChange=()=>{ | ||||
|    this.props.postwork_scoredata(this.state.checkedValues) | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	handleVisibleChange=flag=>{ | ||||
| 		this.setState({ visible: flag }); | ||||
| 	}; | ||||
| 
 | ||||
| 	CheckboxonChange=(checkedValues)=>{ | ||||
| 		 this.setState({ | ||||
| 			 checkedValues:checkedValues | ||||
| 		 }) | ||||
| 	} | ||||
| 
 | ||||
| 	unCheckboxonChange=()=>{ | ||||
| 		this.setState({ | ||||
| 			checkedValues:[], | ||||
| 			onSearchvalue:undefined | ||||
| 		}) | ||||
| 	} | ||||
| 
 | ||||
| 	onSearch=(value)=>{ | ||||
| 		this.setState({ | ||||
| 			onSearchvalue:value | ||||
| 		}) | ||||
| 	} | ||||
| 
 | ||||
| 	onSearchonChange=(e)=>{ | ||||
| 		this.setState({ | ||||
| 			onSearchvalue:e.target.value | ||||
| 		}) | ||||
| 	} | ||||
| 
 | ||||
| 	render(){ | ||||
| 		let {course_groups}=this.props; | ||||
| 
 | ||||
| 		const menu = ( | ||||
| 			<Checkbox.Group style={{ width: 220 }} className={"StatisticsMenubox"} value={this.state.checkedValues} onChange={(checkedValues)=>this.CheckboxonChange(checkedValues)}> | ||||
| 				<Menu  className="Statisticslibox"> | ||||
| 					<li className={"Statisticsli"}> | ||||
| 						{course_groups&&course_groups.length>10?<Search | ||||
| 							placeholder="请输入名称搜索" | ||||
| 							onSearch={(value)=>this.onSearch(value)} | ||||
| 							onChange={(e)=>this.onSearchonChange(e)} | ||||
| 							value={this.state.onSearchvalue} | ||||
| 							style={{ width: 200 }} | ||||
| 						/>:""} | ||||
| 					</li> | ||||
| 					{course_groups&&course_groups.map((item,key)=>{ | ||||
| 						if(this.state.onSearchvalue){ | ||||
| 							if(item.name.indexOf(this.state.onSearchvalue) != -1){ | ||||
| 								return( | ||||
| 									<Menu.Item key={key}> | ||||
| 										<Checkbox value={item.id} key={item.id}>	{item.name}</Checkbox> | ||||
| 									</Menu.Item> | ||||
| 								) | ||||
| 							} | ||||
| 						}else{ | ||||
| 							return( | ||||
| 								<Menu.Item key={key}> | ||||
| 									<Checkbox value={item.id} key={item.id}>	{item.name}</Checkbox> | ||||
| 								</Menu.Item> | ||||
| 							) | ||||
| 						} | ||||
| 					})} | ||||
| 					<Menu.Divider /> | ||||
| 					<li className={"Statisticsli"}> | ||||
| 						<span onClick={()=>this.SaveChange()} className={"ant-btn-link"}>确定</span> | ||||
| 						<span className={"ml20 ant-btn-link"} onClick={()=>this.unCheckboxonChange()}>重置</span> | ||||
| 					</li> | ||||
| 				</Menu> | ||||
| 			</Checkbox.Group> | ||||
| 		); | ||||
| 
 | ||||
| 		return( | ||||
| 			<React.Fragment> | ||||
| 				<Dropdown overlay={menu} | ||||
| 									onVisibleChange={this.handleVisibleChange} | ||||
| 									visible={this.state.visible} | ||||
| 				> | ||||
| 					<a className="ant-dropdown-link"> | ||||
| 						分班 <Icon type="down" /> | ||||
| 					</a> | ||||
| 				</Dropdown> | ||||
| 			</React.Fragment> | ||||
| 		) | ||||
| 	} | ||||
| } | ||||
| export default Dropdownbox; | ||||
					Loading…
					
					
				
		Reference in new issue