my-ranking-item.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { defineComponent, reactive, ref, watch } from 'vue'
  2. import styles from './rank-item.module.less'
  3. import defaultIcon from '@/school/images/student-icon.png'
  4. export default defineComponent({
  5. props: ['item', 'type', 'index'],
  6. name: 'rank-item',
  7. setup(props) {
  8. return () => (
  9. <>
  10. <div>
  11. <div class={styles.itemRankWrap}>
  12. <div class={styles.wrapLeft}>
  13. <div class={styles.headerWrap}>
  14. <img src={props.item.avatar ? props.item.avatar : defaultIcon} alt="" />
  15. </div>
  16. <div>
  17. <p class={styles.studentName}>{props.item.nickname}</p>
  18. <div class={styles.myTag}>
  19. {props.item.subjectNames ? props.item.subjectNames : '暂无声部'}
  20. </div>
  21. </div>
  22. </div>
  23. <div class={styles.wrapRight}>
  24. {props.item.ranking <= 50 ? (
  25. <p>
  26. <span>我的排名</span>
  27. {props.item.ranking <= 50 ? props.item.ranking : 0}
  28. </p>
  29. ) : (
  30. <p>
  31. {' '}
  32. <span>暂无排名</span>
  33. </p>
  34. )}
  35. </div>
  36. </div>
  37. <div class={styles.wall}></div>
  38. </div>
  39. </>
  40. )
  41. }
  42. })