Files
jc-club-front/src/views/question-bank/components/practice-list/index.jsx
2023-10-24 23:32:31 +08:00

85 lines
2.2 KiB
JavaScript

import React, { Fragment, Component } from 'react';
import req from '@utils/request';
import RankingBox from '../ranking-box';
import { apiName, RankingType } from '../../constant';
import { mockRankingModuleList } from '../../mock';
class PracticeList extends Component {
constructor(props) {
super(props);
this.state = {
contributionList: mockRankingModuleList[0].rankingList,
contributeType: 0,
isLoading: false,
};
}
componentDidMount() {
// this.getPracticeRankList();
}
/**
* 获得练习榜
*/
getPracticeRankList() {
req({
method: 'post',
data: {},
url: apiName.getPracticeRankList,
})
.then((res) => {
if (res.data && res.data.length > 0) {
this.setState({
contributionList: res.data,
isLoading: false,
});
} else {
this.setState({
contributionList: [],
isLoading: false,
});
}
})
.catch((err) => console.log(err));
}
/**
* 切换排行榜
* @param {*} index
* @returns
*/
onChangeRanking = (index) => {
console.log(index, 'practice index')
this.setState({
contributeType: index,
});
};
/**
* 去练题
*/
onChangeJump = () => {
this.props.history.push('/practice-questions');
};
render() {
const { contributionList, isLoading, contributeType } = this.state;
return (
<Fragment>
{contributionList?.length > 0 && (
<RankingBox
isLoading={isLoading}
contributionList={contributionList}
currentActive={contributeType}
rankingType={RankingType.practice}
onHandleRanking={this.onChangeRanking}
onHandleJump={this.onChangeJump}
/>
)}
</Fragment>
);
}
}
export default PracticeList;