skyblued 2 years ago
parent
commit
80a9d2faea
1 changed files with 10 additions and 5 deletions
  1. 10 5
      src/student/leaderboard/index.tsx

+ 10 - 5
src/student/leaderboard/index.tsx

@@ -14,6 +14,7 @@ import IconAvator from '@/common/images/icon_teacher.png'
 import request from '@/helpers/request'
 import { useRoute, useRouter } from 'vue-router'
 import { state as userInfo } from '@/state'
+import { useRect } from '@vant/use'
 
 interface IMusicItem {
   loaded: boolean
@@ -107,6 +108,7 @@ export default defineComponent({
       }
     })
     const imgRef = ref()
+    const userRef = ref()
     return () => (
       <div class={styles.leaderboard}>
         <div class={styles.container}>
@@ -117,8 +119,11 @@ export default defineComponent({
               src={img.value}
               onLoad={img => {
                 nextTick(() => {
+                  const {height: height1} = useRect(imgRef)
+                  const {height: height2} = useRect(userRef)
+                  // console.log(height1, height2)
                   imgShow.value = true
-                  imgHeight.value = imgRef.value?.offsetHeight || 100
+                  imgHeight.value = height1 + height2 || 100
                 })
               }}
               onError={err => {
@@ -144,7 +149,7 @@ export default defineComponent({
                         styles.tabContent,
                         state.isSignup && !user.value.join
                           ? null
-                          : styles.hasUser
+                          : null//styles.hasUser
                       ]}
                       style={{ height: `calc(100vh - ${imgHeight.value}px)` }}
                     >
@@ -202,7 +207,7 @@ export default defineComponent({
             </Tabs>
           )}
           {!state.isSignup ? (
-            <div class={[styles.activeUser, 'van-safe-area-bottom']}>
+            <div ref={userRef} class={[styles.activeUser, 'van-safe-area-bottom']}>
               <Cell
                 center
                 title={user.value.username}
@@ -220,7 +225,7 @@ export default defineComponent({
               />
             </div>
           ) : !state.isChallenge ? (
-            <div class={[styles.activeUser, 'van-safe-area-bottom']}>
+            <div ref={userRef} class={[styles.activeUser, 'van-safe-area-bottom']}>
               <Cell
                 center
                 title={user.value.username}
@@ -238,7 +243,7 @@ export default defineComponent({
               />
             </div>
           ) : user.value.join ? (
-            <div class={[styles.activeUser, 'van-safe-area-bottom']}>
+            <div ref={userRef} class={[styles.activeUser, 'van-safe-area-bottom']}>
               <Cell
                 center
                 title={user.value.username}