import React,{ Component } from "react"; import {Checkbox,Input,Table, Pagination,Menu,Icon} from "antd"; import {TPMIndexHOC} from "../modules/tpm/TPMIndexHOC"; import {Link,NavLink} from 'react-router-dom'; import { WordsBtn ,ActionBtn,SnackbarHOC,markdownToHTML,getImageUrl} from 'educoder'; import axios from 'axios'; import './searchc.css' const Search = Input.Search; class SearchPage extends Component{ constructor(props) { super(props); this.state={ tab:"1", count:0, keywords:undefined, type:"subject", page:1, perpages:20, data:[], } } //切换tab changeTab=(e)=>{ // course 课堂, shixun 开发社区 subject 实践课程 memo 交流问答 let types =""; if(parseInt(e.key)===0){ types="shixun"; } if(parseInt(e.key)===1){ types="subject"; } if(parseInt(e.key)===2){ types="course"; } if(parseInt(e.key)===3){ types="memo"; } this.setState({ tab:e.key, type:types, page:1, }) this.getdata(1,types,this.state.keywords); } componentDidMount(){ let courstype=decodeURI(decodeURI(this.props.location.search)); courstype = courstype.split('?value='); this.setState({ keywords:courstype[1] }) this.getdata(this.state.page,this.state.type,courstype[1]); } componentDidUpdate(prevProps) { if(prevProps.location.search!=this.props.location.search){ let courstype=decodeURI(decodeURI(this.props.location.search)); courstype = courstype.split('?value='); this.setState({ keywords:courstype[1] }) this.getdata(this.state.page,this.state.type,courstype[1]); } } setdatafunsval=(e)=>{ this.setState({ keywords:e.target.value }) } setdatafuns =(value)=>{ this.setState({ keywords:value }) this.props.history.replace(`/search?value=${value}`) this.getdata(this.state.page,this.state.type,value); } paginationonChanges = (pageNumber) => { this.setState({ page: pageNumber, loadingstate: true, }) this.getdata(pageNumber,this.state.type,this.state.keywords); } //获取数据 getdata=(pages,type,keywords)=>{ let url = "/search.json"; this.setState({ loading: true }) axios.get(url,{params:{ keyword:keywords, type:type, page:pages, per_page:this.state.perpages, } }).then((response) => { this.setState({ loading: false }) if(response === undefined){ return } this.setState({ count:response.data.count, data:response.data.results, }) }).catch((error) => { }); } render(){ let {tab,count,data,page,perpages, type }=this.state; return(
搜索} onInput={(e)=>this.setdatafunsval(e)} onSearch={ (value)=>this.setdatafuns(value)} />
实践课程 翻转课堂 实训项目 交流问答
{ JSON.stringify(data) === "[]" && this.state.loading != true ?

暂时还没有相关数据哦!

:

共找到相关结果{count}

{data === undefined ? "" : data.map((item, key) => { return (
{/*标题*/} {/*描述*/}
{item.content.content === undefined || item.content.content===0?"": item.content.content.map((item4, key4) => { return ( ) }) }
{/*内容*/} {item.content.description === undefined || item.content.description===0?"": item.content.description.map((item3, key3) => { return ( ) }) }
{/*挑战名字*/} {item.content.challenge_names === undefined || item.content.challenge_names===0?"": item.content.challenge_names.map((item5, key5) => { return (
关卡名称:
) }) }
{/*挑战标签*/} {item.content.challenge_tag_names === undefined || item.content.challenge_tag_names===0?"": item.content.challenge_tag_names.map((item6, key6) => { return (
关卡标签: 1?" tzbq ":" tzbqx"} style={{ width:"100%" }} dangerouslySetInnerHTML={{__html:item6}} />
) }) }
{/*合作单位*/} {item.content.member_user_names === undefined || item.content.member_user_names===0?"": item.content.member_user_names.map((item7, key7) => { return (
合作团队: 1?" tzbq ":" tzbqx"} dangerouslySetInnerHTML={{__html:item7}} />
) }) }
{/* 主讲:{item.author_name} {item.author_school_name} 任务: {item.challenges_count===undefined?0:item.challenges_count} 学习人数: {item.study_count===undefined?0:item.study_count} */} {/* */} {item.author_name} {item.author_school_name} {!!item.challenges_count && {/* */} 任务: {item.challenges_count} } {!!item.study_count && {/* */} 学习人数: {item.study_count} } {!!item.shixuns_count && {/* */} 实训数: {item.shixuns_count} } {type == 'subject' && !!item.visits_count && {/* */} 访问数: {item.visits_count} } {!!item.members_count && {/* */} 成员数: {item.members_count} } {!!item.all_replies_count && {/* */} 回复数:{item.all_replies_count} } {/* 学习人数:{item.study_count===undefined?0:item.study_count} */}
) })}
} { count && count && count> perpages ?
: "" }
) } } export default SnackbarHOC() (TPMIndexHOC ( SearchPage ));