浏览代码

fix: timer ts error resolve

suzigang 2 年之前
父节点
当前提交
4ad7141e22

+ 5 - 3
src/packages/__VUE/barrage/index.vue

@@ -54,7 +54,7 @@ export default create({
     let dmBody = ref<HTMLDivElement>(document.createElement('div'));
     let dmContainer = ref<HTMLDivElement>(document.createElement('div'));
 
-    let timer = 0;
+    let timer: NodeJS.Timeout | null | undefined = null;
     const danmuList: any = ref(props.danmu);
     const rows = ref<number>(props.rows);
     const top = ref<number>(props.top);
@@ -114,8 +114,10 @@ export default create({
     };
 
     const clearTime = () => {
-      clearTimeout(timer);
-      timer = 0;
+      if (timer) {
+        clearTimeout(timer);
+        timer = null;
+      }
     };
 
     watch(

+ 1 - 1
src/packages/__VUE/imagepreview/imagePreviewItem.vue

@@ -153,7 +153,7 @@ export default create({
     let startMoveY: number;
     let startScale: number;
     let startDistance: number;
-    let doubleTapTimer: number | null;
+    let doubleTapTimer: NodeJS.Timeout | null;
     let touchStartTime: number;
     let fingerNum: number;
 

+ 1 - 1
src/packages/__VUE/notify/index.vue

@@ -59,7 +59,7 @@ export default create({
     };
 
     // timer
-    let timer: null | number = null;
+    let timer: null | NodeJS.Timeout = null;
     const clearTimer = () => {
       timer && clearTimeout(timer);
       timer = null;

+ 4 - 2
src/packages/__VUE/swiper/index.taro.vue

@@ -112,7 +112,7 @@ export default create({
       moving: false,
       offset: 0,
       touchTime: 0,
-      autoplayTimer: 0 as number | undefined,
+      autoplayTimer: null as NodeJS.Timeout | undefined | null,
       children: [] as ComponentPublicInstance[],
       childrenVNode: [] as VNode[],
       style: {}
@@ -279,7 +279,9 @@ export default create({
     };
 
     const stopAutoPlay = () => {
-      clearTimeout(state.autoplayTimer);
+      if (state.autoplayTimer) {
+        clearTimeout(state.autoplayTimer);
+      }
     };
 
     const jump = (pace: number) => {

+ 4 - 2
src/packages/__VUE/swiper/index.vue

@@ -108,7 +108,7 @@ export default create({
       moving: false,
       offset: 0,
       touchTime: 0,
-      autoplayTimer: 0 as number | undefined,
+      autoplayTimer: null as NodeJS.Timeout | undefined | null,
       children: [] as ComponentPublicInstance[],
       childrenVNode: [] as VNode[],
       style: {}
@@ -277,7 +277,9 @@ export default create({
     };
 
     const stopAutoPlay = () => {
-      clearTimeout(state.autoplayTimer);
+      if (state.autoplayTimer) {
+        clearTimeout(state.autoplayTimer);
+      }
     };
 
     const jump = (pace: number) => {

+ 1 - 1
src/packages/__VUE/toast/index.vue

@@ -91,7 +91,7 @@ export default create({
   },
   emits: ['close'],
   setup(props: any, { emit }) {
-    let timer: number | null | undefined;
+    let timer: NodeJS.Timeout | null | undefined;
     const state = reactive({
       mounted: false
     });