Browse Source

fix(swipe): taro env new version bug

richard1015 4 years ago
parent
commit
c6d2f1f6d9
1 changed files with 8 additions and 20 deletions
  1. 8 20
      src/packages/__VUE/swipe/index.taro.vue

+ 8 - 20
src/packages/__VUE/swipe/index.taro.vue

@@ -15,11 +15,7 @@
       <slot name="default"></slot>
     </view>
 
-    <view
-      class="nut-swipe__right"
-      ref="rightRef"
-      :id="'rightRef-' + refRandomId"
-    >
+    <view class="nut-swipe__right" ref="rightRef" :id="'rightRef-' + refRandomId">
       <slot name="right"></slot>
     </view>
   </view>
@@ -55,12 +51,8 @@ export default create({
     });
 
     const getRefWidth = async (ref: Ref<HTMLElement | undefined>) => {
-      if (Taro.getEnv() === 'WEB') {
-        return ref.value?.clientWidth || ref.value?.$el?.clientWidth || 0;
-      } else {
-        let rect = await useTaroRect(ref, Taro);
-        return rect.width || 0;
-      }
+      let rect = await useTaroRect(ref, Taro);
+      return rect.width || 0;
     };
 
     const leftRef = ref<HTMLElement>();
@@ -74,7 +66,9 @@ export default create({
     };
 
     onMounted(() => {
-      Taro.nextTick(initWidth);
+      setTimeout(() => {
+        initWidth();
+      }, 100);
     });
 
     let opened: boolean = false;
@@ -120,20 +114,14 @@ export default create({
           if (opened && oldPosition === position) {
             offset = -rightRefWidth.value;
           } else {
-            offset =
-              Math.abs(deltaX) > rightRefWidth.value
-                ? -rightRefWidth.value
-                : deltaX;
+            offset = Math.abs(deltaX) > rightRefWidth.value ? -rightRefWidth.value : deltaX;
           }
           break;
         case 'right':
           if (opened && oldPosition === position) {
             offset = leftRefWidth.value;
           } else {
-            offset =
-              Math.abs(deltaX) > leftRefWidth.value
-                ? leftRefWidth.value
-                : deltaX;
+            offset = Math.abs(deltaX) > leftRefWidth.value ? leftRefWidth.value : deltaX;
           }
           break;
       }