Browse Source

fix: 修复无缝滚动组件问题

xiaoxian521 3 years ago
parent
commit
808240f91b
3 changed files with 150 additions and 134 deletions
  1. 109 106
      package-lock.json
  2. 4 4
      package.json
  3. 37 24
      src/components/SeamlessScroll/src/SeamlessScroll.vue

+ 109 - 106
package-lock.json

@@ -17,7 +17,7 @@
         "dayjs": "^1.10.5",
         "dayjs": "^1.10.5",
         "dotenv": "^8.2.0",
         "dotenv": "^8.2.0",
         "echarts": "^5.1.1",
         "echarts": "^5.1.1",
-        "element-plus": "^1.0.2-beta.46",
+        "element-plus": "^1.0.2-beta.48",
         "font-awesome": "^4.7.0",
         "font-awesome": "^4.7.0",
         "lodash-es": "^4.17.21",
         "lodash-es": "^4.17.21",
         "mitt": "^2.1.0",
         "mitt": "^2.1.0",
@@ -28,7 +28,7 @@
         "pinia": "^2.0.0-alpha.19",
         "pinia": "^2.0.0-alpha.19",
         "resize-observer-polyfill": "^1.5.1",
         "resize-observer-polyfill": "^1.5.1",
         "v-contextmenu": "^3.0.0",
         "v-contextmenu": "^3.0.0",
-        "vue": "^3.0.11",
+        "vue": "^3.1.1",
         "vue-i18n": "^9.1.6",
         "vue-i18n": "^9.1.6",
         "vue-json-pretty": "^2.0.2",
         "vue-json-pretty": "^2.0.2",
         "vue-router": "^4.0.8",
         "vue-router": "^4.0.8",
@@ -44,9 +44,9 @@
         "@types/mockjs": "^1.0.3",
         "@types/mockjs": "^1.0.3",
         "@types/node": "^14.14.14",
         "@types/node": "^14.14.14",
         "@types/nprogress": "^0.2.0",
         "@types/nprogress": "^0.2.0",
-        "@vitejs/plugin-vue": "^1.2.2",
+        "@vitejs/plugin-vue": "^1.2.3",
         "@vitejs/plugin-vue-jsx": "^1.1.3",
         "@vitejs/plugin-vue-jsx": "^1.1.3",
-        "@vue/compiler-sfc": "^3.0.11",
+        "@vue/compiler-sfc": "^3.1.1",
         "autoprefixer": "^10.2.4",
         "autoprefixer": "^10.2.4",
         "babel-plugin-transform-remove-console": "^6.9.4",
         "babel-plugin-transform-remove-console": "^6.9.4",
         "chalk": "^2.4.2",
         "chalk": "^2.4.2",
@@ -630,15 +630,15 @@
       }
       }
     },
     },
     "node_modules/@vitejs/plugin-vue": {
     "node_modules/@vitejs/plugin-vue": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.2.tgz",
-      "integrity": "sha512-5BI2WFfs/Z0pAV4S/IQf1oH3bmFYlL5ATMBHgTt1Lf7hAnfpNd5oUAAs6hZPfk3QhvyUQgtk0rJBlabwNFcBJQ==",
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.3.tgz",
+      "integrity": "sha512-LlnLpObkGKZ+b7dcpL4T24l13nPSHLjo+6Oc7MbZiKz5PMAUzADfNJ3EKfYIQ0l0969nxf2jp/9vsfnuJ7h6fw==",
       "dev": true,
       "dev": true,
       "engines": {
       "engines": {
         "node": ">=12.0.0"
         "node": ">=12.0.0"
       },
       },
       "peerDependencies": {
       "peerDependencies": {
-        "@vue/compiler-sfc": "^3.0.6"
+        "@vue/compiler-sfc": "^3.0.8"
       }
       }
     },
     },
     "node_modules/@vitejs/plugin-vue-jsx": {
     "node_modules/@vitejs/plugin-vue-jsx": {
@@ -681,38 +681,38 @@
       }
       }
     },
     },
     "node_modules/@vue/compiler-core": {
     "node_modules/@vue/compiler-core": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/compiler-core/download/@vue/compiler-core-3.0.11.tgz?cache=0&sync_timestamp=1617321362210&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcompiler-core%2Fdownload%2F%40vue%2Fcompiler-core-3.0.11.tgz",
-      "integrity": "sha1-XvV55G17M2uHNSKHWNHCxQWq5po=",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.1.tgz",
+      "integrity": "sha512-Z1RO3T6AEtAUFf2EqqovFm3ohAeTvFzRtB0qUENW2nEerJfdlk13/LS1a0EgsqlzxmYfR/S/S/gW9PLbFZZxkA==",
       "dependencies": {
       "dependencies": {
         "@babel/parser": "^7.12.0",
         "@babel/parser": "^7.12.0",
         "@babel/types": "^7.12.0",
         "@babel/types": "^7.12.0",
-        "@vue/shared": "3.0.11",
+        "@vue/shared": "3.1.1",
         "estree-walker": "^2.0.1",
         "estree-walker": "^2.0.1",
         "source-map": "^0.6.1"
         "source-map": "^0.6.1"
       }
       }
     },
     },
     "node_modules/@vue/compiler-dom": {
     "node_modules/@vue/compiler-dom": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/compiler-dom/download/@vue/compiler-dom-3.0.11.tgz",
-      "integrity": "sha1-sV/ByQk3H9ZxdGAgulW12rSnMO4=",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.1.tgz",
+      "integrity": "sha512-nobRIo0t5ibzg+q8nC31m+aJhbq8FbWUoKvk6h3Vs1EqTDJaj6lBTcVTq5or8AYht7FbSpdAJ81isbJ1rWNX7A==",
       "dependencies": {
       "dependencies": {
-        "@vue/compiler-core": "3.0.11",
-        "@vue/shared": "3.0.11"
+        "@vue/compiler-core": "3.1.1",
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "node_modules/@vue/compiler-sfc": {
     "node_modules/@vue/compiler-sfc": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/compiler-sfc/download/@vue/compiler-sfc-3.0.11.tgz",
-      "integrity": "sha1-zYyiFUuIlntSH1rTsQ9fi2tmVnk=",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.1.1.tgz",
+      "integrity": "sha512-lSgMsZaYHF+bAgryq5aUqpvyfhu52GJI2/4LoiJCE5uaxc6FCZfxfgqgw/d9ltiZghv+HiISFtmQVAVvlsk+/w==",
       "dev": true,
       "dev": true,
       "dependencies": {
       "dependencies": {
         "@babel/parser": "^7.13.9",
         "@babel/parser": "^7.13.9",
         "@babel/types": "^7.13.0",
         "@babel/types": "^7.13.0",
-        "@vue/compiler-core": "3.0.11",
-        "@vue/compiler-dom": "3.0.11",
-        "@vue/compiler-ssr": "3.0.11",
-        "@vue/shared": "3.0.11",
+        "@vue/compiler-core": "3.1.1",
+        "@vue/compiler-dom": "3.1.1",
+        "@vue/compiler-ssr": "3.1.1",
+        "@vue/shared": "3.1.1",
         "consolidate": "^0.16.0",
         "consolidate": "^0.16.0",
         "estree-walker": "^2.0.1",
         "estree-walker": "^2.0.1",
         "hash-sum": "^2.0.0",
         "hash-sum": "^2.0.0",
@@ -723,16 +723,19 @@
         "postcss-modules": "^4.0.0",
         "postcss-modules": "^4.0.0",
         "postcss-selector-parser": "^6.0.4",
         "postcss-selector-parser": "^6.0.4",
         "source-map": "^0.6.1"
         "source-map": "^0.6.1"
+      },
+      "peerDependencies": {
+        "vue": "3.1.1"
       }
       }
     },
     },
     "node_modules/@vue/compiler-ssr": {
     "node_modules/@vue/compiler-ssr": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/compiler-ssr/download/@vue/compiler-ssr-3.0.11.tgz",
-      "integrity": "sha1-rFoF/RJXQS+mYHnII9ggO2qImhM=",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.1.1.tgz",
+      "integrity": "sha512-7H6krZtVt3h/YzfNp7eYK41hMDz8ZskiBy+Wby+EDRINX6BD9JQ5C8zyy2xAa7T6Iz2VrQzsaJ/Bb52lTPSS5A==",
       "dev": true,
       "dev": true,
       "dependencies": {
       "dependencies": {
-        "@vue/compiler-dom": "3.0.11",
-        "@vue/shared": "3.0.11"
+        "@vue/compiler-dom": "3.1.1",
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "node_modules/@vue/devtools-api": {
     "node_modules/@vue/devtools-api": {
@@ -741,36 +744,36 @@
       "integrity": "sha512-vpw61AkW9U8c2upjJCljHq9eh1KkD4FJ7DYbRzIETpj9WAw2VESudJZosAk4M+7npBo1Zu1jNQY03HUMVO/czQ=="
       "integrity": "sha512-vpw61AkW9U8c2upjJCljHq9eh1KkD4FJ7DYbRzIETpj9WAw2VESudJZosAk4M+7npBo1Zu1jNQY03HUMVO/czQ=="
     },
     },
     "node_modules/@vue/reactivity": {
     "node_modules/@vue/reactivity": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.11.tgz",
-      "integrity": "sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.1.tgz",
+      "integrity": "sha512-DsH5woNVCcPK1M0RRYVgJEU1GJDU2ASOKpAqW3ppHk+XjoFLCbqc/26RTCgTpJYd9z8VN+79Q1u7/QqgQPbuLQ==",
       "dependencies": {
       "dependencies": {
-        "@vue/shared": "3.0.11"
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "node_modules/@vue/runtime-core": {
     "node_modules/@vue/runtime-core": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.11.tgz",
-      "integrity": "sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.1.tgz",
+      "integrity": "sha512-GboqR02txOtkd9F3Ysd8ltPL68vTCqIx2p/J52/gFtpgb5FG9hvOAPEwFUqxeEJRu7ResvQnmdOHiEycGPCLhQ==",
       "dependencies": {
       "dependencies": {
-        "@vue/reactivity": "3.0.11",
-        "@vue/shared": "3.0.11"
+        "@vue/reactivity": "3.1.1",
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "node_modules/@vue/runtime-dom": {
     "node_modules/@vue/runtime-dom": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz",
-      "integrity": "sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.1.tgz",
+      "integrity": "sha512-o57n/199e/BBAmLRMSXmD2r12Old/h/gf6BgL0RON1NT2pwm6MWaMY4Ul55eyq+FsDILz4jR/UgoPQ9vYB8xcw==",
       "dependencies": {
       "dependencies": {
-        "@vue/runtime-core": "3.0.11",
-        "@vue/shared": "3.0.11",
+        "@vue/runtime-core": "3.1.1",
+        "@vue/shared": "3.1.1",
         "csstype": "^2.6.8"
         "csstype": "^2.6.8"
       }
       }
     },
     },
     "node_modules/@vue/shared": {
     "node_modules/@vue/shared": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/shared/download/@vue/shared-3.0.11.tgz?cache=0&sync_timestamp=1617321364318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fshared%2Fdownload%2F%40vue%2Fshared-3.0.11.tgz",
-      "integrity": "sha1-INIt0Np9NYuyHBf5vehigVJkLHc="
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.1.tgz",
+      "integrity": "sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA=="
     },
     },
     "node_modules/@vueuse/core": {
     "node_modules/@vueuse/core": {
       "version": "4.9.1",
       "version": "4.9.1",
@@ -1318,9 +1321,9 @@
       "dev": true
       "dev": true
     },
     },
     "node_modules/element-plus": {
     "node_modules/element-plus": {
-      "version": "1.0.2-beta.46",
-      "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.2-beta.46.tgz",
-      "integrity": "sha512-GevU3xNiIp+p9ZGnGRtFaJPnofsMXKwqV+cTXC266vUWw08Hbt1ronTsss/eJJ1OIHLoaFq4febv1MMTBSSjlQ==",
+      "version": "1.0.2-beta.48",
+      "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.2-beta.48.tgz",
+      "integrity": "sha512-BKLjkZqZCJIYxUgwEj4ojaU0iEXHf6LPma100rMQPXZ/AUEVx3yjuo3fmTV54CTsIG+V2W1VCEnD7jF2iw+qrQ==",
       "dependencies": {
       "dependencies": {
         "@popperjs/core": "^2.4.4",
         "@popperjs/core": "^2.4.4",
         "@types/lodash": "^4.14.161",
         "@types/lodash": "^4.14.161",
@@ -1332,7 +1335,7 @@
         "resize-observer-polyfill": "^1.5.1"
         "resize-observer-polyfill": "^1.5.1"
       },
       },
       "peerDependencies": {
       "peerDependencies": {
-        "vue": "^3.0.9"
+        "vue": "3.1.1"
       }
       }
     },
     },
     "node_modules/emojis-list": {
     "node_modules/emojis-list": {
@@ -2787,13 +2790,13 @@
       }
       }
     },
     },
     "node_modules/vue": {
     "node_modules/vue": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.11.tgz",
-      "integrity": "sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-3.1.1.tgz",
+      "integrity": "sha512-j9fj3PNPMxo2eqOKYjMuss9XBS8ZtmczLY3kPvjcp9d3DbhyNqLYbaMQH18+1pDIzzVvQCQBvIf774LsjjqSKA==",
       "dependencies": {
       "dependencies": {
-        "@vue/compiler-dom": "3.0.11",
-        "@vue/runtime-dom": "3.0.11",
-        "@vue/shared": "3.0.11"
+        "@vue/compiler-dom": "3.1.1",
+        "@vue/runtime-dom": "3.1.1",
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "node_modules/vue-i18n": {
     "node_modules/vue-i18n": {
@@ -3461,9 +3464,9 @@
       }
       }
     },
     },
     "@vitejs/plugin-vue": {
     "@vitejs/plugin-vue": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.2.tgz",
-      "integrity": "sha512-5BI2WFfs/Z0pAV4S/IQf1oH3bmFYlL5ATMBHgTt1Lf7hAnfpNd5oUAAs6hZPfk3QhvyUQgtk0rJBlabwNFcBJQ==",
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.3.tgz",
+      "integrity": "sha512-LlnLpObkGKZ+b7dcpL4T24l13nPSHLjo+6Oc7MbZiKz5PMAUzADfNJ3EKfYIQ0l0969nxf2jp/9vsfnuJ7h6fw==",
       "dev": true,
       "dev": true,
       "requires": {}
       "requires": {}
     },
     },
@@ -3504,38 +3507,38 @@
       }
       }
     },
     },
     "@vue/compiler-core": {
     "@vue/compiler-core": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/compiler-core/download/@vue/compiler-core-3.0.11.tgz?cache=0&sync_timestamp=1617321362210&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcompiler-core%2Fdownload%2F%40vue%2Fcompiler-core-3.0.11.tgz",
-      "integrity": "sha1-XvV55G17M2uHNSKHWNHCxQWq5po=",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.1.tgz",
+      "integrity": "sha512-Z1RO3T6AEtAUFf2EqqovFm3ohAeTvFzRtB0qUENW2nEerJfdlk13/LS1a0EgsqlzxmYfR/S/S/gW9PLbFZZxkA==",
       "requires": {
       "requires": {
         "@babel/parser": "^7.12.0",
         "@babel/parser": "^7.12.0",
         "@babel/types": "^7.12.0",
         "@babel/types": "^7.12.0",
-        "@vue/shared": "3.0.11",
+        "@vue/shared": "3.1.1",
         "estree-walker": "^2.0.1",
         "estree-walker": "^2.0.1",
         "source-map": "^0.6.1"
         "source-map": "^0.6.1"
       }
       }
     },
     },
     "@vue/compiler-dom": {
     "@vue/compiler-dom": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/compiler-dom/download/@vue/compiler-dom-3.0.11.tgz",
-      "integrity": "sha1-sV/ByQk3H9ZxdGAgulW12rSnMO4=",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.1.tgz",
+      "integrity": "sha512-nobRIo0t5ibzg+q8nC31m+aJhbq8FbWUoKvk6h3Vs1EqTDJaj6lBTcVTq5or8AYht7FbSpdAJ81isbJ1rWNX7A==",
       "requires": {
       "requires": {
-        "@vue/compiler-core": "3.0.11",
-        "@vue/shared": "3.0.11"
+        "@vue/compiler-core": "3.1.1",
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "@vue/compiler-sfc": {
     "@vue/compiler-sfc": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/compiler-sfc/download/@vue/compiler-sfc-3.0.11.tgz",
-      "integrity": "sha1-zYyiFUuIlntSH1rTsQ9fi2tmVnk=",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.1.1.tgz",
+      "integrity": "sha512-lSgMsZaYHF+bAgryq5aUqpvyfhu52GJI2/4LoiJCE5uaxc6FCZfxfgqgw/d9ltiZghv+HiISFtmQVAVvlsk+/w==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "@babel/parser": "^7.13.9",
         "@babel/parser": "^7.13.9",
         "@babel/types": "^7.13.0",
         "@babel/types": "^7.13.0",
-        "@vue/compiler-core": "3.0.11",
-        "@vue/compiler-dom": "3.0.11",
-        "@vue/compiler-ssr": "3.0.11",
-        "@vue/shared": "3.0.11",
+        "@vue/compiler-core": "3.1.1",
+        "@vue/compiler-dom": "3.1.1",
+        "@vue/compiler-ssr": "3.1.1",
+        "@vue/shared": "3.1.1",
         "consolidate": "^0.16.0",
         "consolidate": "^0.16.0",
         "estree-walker": "^2.0.1",
         "estree-walker": "^2.0.1",
         "hash-sum": "^2.0.0",
         "hash-sum": "^2.0.0",
@@ -3549,13 +3552,13 @@
       }
       }
     },
     },
     "@vue/compiler-ssr": {
     "@vue/compiler-ssr": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/compiler-ssr/download/@vue/compiler-ssr-3.0.11.tgz",
-      "integrity": "sha1-rFoF/RJXQS+mYHnII9ggO2qImhM=",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.1.1.tgz",
+      "integrity": "sha512-7H6krZtVt3h/YzfNp7eYK41hMDz8ZskiBy+Wby+EDRINX6BD9JQ5C8zyy2xAa7T6Iz2VrQzsaJ/Bb52lTPSS5A==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
-        "@vue/compiler-dom": "3.0.11",
-        "@vue/shared": "3.0.11"
+        "@vue/compiler-dom": "3.1.1",
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "@vue/devtools-api": {
     "@vue/devtools-api": {
@@ -3564,36 +3567,36 @@
       "integrity": "sha512-vpw61AkW9U8c2upjJCljHq9eh1KkD4FJ7DYbRzIETpj9WAw2VESudJZosAk4M+7npBo1Zu1jNQY03HUMVO/czQ=="
       "integrity": "sha512-vpw61AkW9U8c2upjJCljHq9eh1KkD4FJ7DYbRzIETpj9WAw2VESudJZosAk4M+7npBo1Zu1jNQY03HUMVO/czQ=="
     },
     },
     "@vue/reactivity": {
     "@vue/reactivity": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.11.tgz",
-      "integrity": "sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.1.tgz",
+      "integrity": "sha512-DsH5woNVCcPK1M0RRYVgJEU1GJDU2ASOKpAqW3ppHk+XjoFLCbqc/26RTCgTpJYd9z8VN+79Q1u7/QqgQPbuLQ==",
       "requires": {
       "requires": {
-        "@vue/shared": "3.0.11"
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "@vue/runtime-core": {
     "@vue/runtime-core": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.11.tgz",
-      "integrity": "sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.1.tgz",
+      "integrity": "sha512-GboqR02txOtkd9F3Ysd8ltPL68vTCqIx2p/J52/gFtpgb5FG9hvOAPEwFUqxeEJRu7ResvQnmdOHiEycGPCLhQ==",
       "requires": {
       "requires": {
-        "@vue/reactivity": "3.0.11",
-        "@vue/shared": "3.0.11"
+        "@vue/reactivity": "3.1.1",
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "@vue/runtime-dom": {
     "@vue/runtime-dom": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz",
-      "integrity": "sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.1.tgz",
+      "integrity": "sha512-o57n/199e/BBAmLRMSXmD2r12Old/h/gf6BgL0RON1NT2pwm6MWaMY4Ul55eyq+FsDILz4jR/UgoPQ9vYB8xcw==",
       "requires": {
       "requires": {
-        "@vue/runtime-core": "3.0.11",
-        "@vue/shared": "3.0.11",
+        "@vue/runtime-core": "3.1.1",
+        "@vue/shared": "3.1.1",
         "csstype": "^2.6.8"
         "csstype": "^2.6.8"
       }
       }
     },
     },
     "@vue/shared": {
     "@vue/shared": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npm.taobao.org/@vue/shared/download/@vue/shared-3.0.11.tgz?cache=0&sync_timestamp=1617321364318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fshared%2Fdownload%2F%40vue%2Fshared-3.0.11.tgz",
-      "integrity": "sha1-INIt0Np9NYuyHBf5vehigVJkLHc="
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.1.tgz",
+      "integrity": "sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA=="
     },
     },
     "@vueuse/core": {
     "@vueuse/core": {
       "version": "4.9.1",
       "version": "4.9.1",
@@ -4020,9 +4023,9 @@
       "dev": true
       "dev": true
     },
     },
     "element-plus": {
     "element-plus": {
-      "version": "1.0.2-beta.46",
-      "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.2-beta.46.tgz",
-      "integrity": "sha512-GevU3xNiIp+p9ZGnGRtFaJPnofsMXKwqV+cTXC266vUWw08Hbt1ronTsss/eJJ1OIHLoaFq4febv1MMTBSSjlQ==",
+      "version": "1.0.2-beta.48",
+      "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.2-beta.48.tgz",
+      "integrity": "sha512-BKLjkZqZCJIYxUgwEj4ojaU0iEXHf6LPma100rMQPXZ/AUEVx3yjuo3fmTV54CTsIG+V2W1VCEnD7jF2iw+qrQ==",
       "requires": {
       "requires": {
         "@popperjs/core": "^2.4.4",
         "@popperjs/core": "^2.4.4",
         "@types/lodash": "^4.14.161",
         "@types/lodash": "^4.14.161",
@@ -5186,13 +5189,13 @@
       }
       }
     },
     },
     "vue": {
     "vue": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.11.tgz",
-      "integrity": "sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-3.1.1.tgz",
+      "integrity": "sha512-j9fj3PNPMxo2eqOKYjMuss9XBS8ZtmczLY3kPvjcp9d3DbhyNqLYbaMQH18+1pDIzzVvQCQBvIf774LsjjqSKA==",
       "requires": {
       "requires": {
-        "@vue/compiler-dom": "3.0.11",
-        "@vue/runtime-dom": "3.0.11",
-        "@vue/shared": "3.0.11"
+        "@vue/compiler-dom": "3.1.1",
+        "@vue/runtime-dom": "3.1.1",
+        "@vue/shared": "3.1.1"
       }
       }
     },
     },
     "vue-i18n": {
     "vue-i18n": {

+ 4 - 4
package.json

@@ -25,7 +25,7 @@
     "dayjs": "^1.10.5",
     "dayjs": "^1.10.5",
     "dotenv": "^8.2.0",
     "dotenv": "^8.2.0",
     "echarts": "^5.1.1",
     "echarts": "^5.1.1",
-    "element-plus": "^1.0.2-beta.46",
+    "element-plus": "^1.0.2-beta.48",
     "font-awesome": "^4.7.0",
     "font-awesome": "^4.7.0",
     "lodash-es": "^4.17.21",
     "lodash-es": "^4.17.21",
     "mitt": "^2.1.0",
     "mitt": "^2.1.0",
@@ -36,7 +36,7 @@
     "pinia": "^2.0.0-alpha.19",
     "pinia": "^2.0.0-alpha.19",
     "resize-observer-polyfill": "^1.5.1",
     "resize-observer-polyfill": "^1.5.1",
     "v-contextmenu": "^3.0.0",
     "v-contextmenu": "^3.0.0",
-    "vue": "^3.0.11",
+    "vue": "^3.1.1",
     "vue-i18n": "^9.1.6",
     "vue-i18n": "^9.1.6",
     "vue-json-pretty": "^2.0.2",
     "vue-json-pretty": "^2.0.2",
     "vue-router": "^4.0.8",
     "vue-router": "^4.0.8",
@@ -52,9 +52,9 @@
     "@types/mockjs": "^1.0.3",
     "@types/mockjs": "^1.0.3",
     "@types/node": "^14.14.14",
     "@types/node": "^14.14.14",
     "@types/nprogress": "^0.2.0",
     "@types/nprogress": "^0.2.0",
-    "@vitejs/plugin-vue": "^1.2.2",
+    "@vitejs/plugin-vue": "^1.2.3",
     "@vitejs/plugin-vue-jsx": "^1.1.3",
     "@vitejs/plugin-vue-jsx": "^1.1.3",
-    "@vue/compiler-sfc": "^3.0.11",
+    "@vue/compiler-sfc": "^3.1.1",
     "autoprefixer": "^10.2.4",
     "autoprefixer": "^10.2.4",
     "babel-plugin-transform-remove-console": "^6.9.4",
     "babel-plugin-transform-remove-console": "^6.9.4",
     "chalk": "^2.4.2",
     "chalk": "^2.4.2",

+ 37 - 24
src/components/SeamlessScroll/src/SeamlessScroll.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-  <div ref="wrap">
+  <div :ref="'wrap' + classOption['key']">
     <div :style="leftSwitch" v-if="navigation" :class="leftSwitchClass" @click="leftSwitchClick">
     <div :style="leftSwitch" v-if="navigation" :class="leftSwitchClass" @click="leftSwitchClick">
       <slot name="left-switch"></slot>
       <slot name="left-switch"></slot>
     </div>
     </div>
@@ -7,7 +7,7 @@
       <slot name="right-switch"></slot>
       <slot name="right-switch"></slot>
     </div>
     </div>
     <div
     <div
-      ref="realBox"
+      :ref="'realBox'+ classOption['key']"
       :style="pos"
       :style="pos"
       @mouseenter="enter"
       @mouseenter="enter"
       @mouseleave="leave"
       @mouseleave="leave"
@@ -16,7 +16,7 @@
       @touchend="touchEnd"
       @touchend="touchEnd"
       @mousewheel="wheel"
       @mousewheel="wheel"
     >
     >
-      <div ref="slotList" :style="float">
+      <div :ref="'slotList'+ classOption['key']" :style="float">
         <slot></slot>
         <slot></slot>
       </div>
       </div>
       <div v-html="copyHtml" :style="float"></div>
       <div v-html="copyHtml" :style="float"></div>
@@ -84,12 +84,25 @@ export default defineComponent({
     let realBoxWidth = ref(0);
     let realBoxWidth = ref(0);
     let realBoxHeight = ref(0);
     let realBoxHeight = ref(0);
 
 
-    const wrap = templateRef<HTMLElement | null>("wrap", null);
-    const slotList = templateRef<HTMLElement | null>("slotList", null);
-    const realBox = templateRef<HTMLElement | null>("realBox", null);
-
     let { data, classOption } = props;
     let { data, classOption } = props;
 
 
+    if (classOption["key"] === undefined) {
+      classOption["key"] = 0;
+    }
+
+    const wrap = templateRef<HTMLElement | null>(
+      `wrap${classOption["key"]}`,
+      null
+    );
+    const slotList = templateRef<HTMLElement | null>(
+      `slotList${classOption["key"]}`,
+      null
+    );
+    const realBox = templateRef<HTMLElement | null>(
+      `realBox${classOption["key"]}`,
+      null
+    );
+
     let leftSwitchState = computed(() => {
     let leftSwitchState = computed(() => {
       return unref(xPos) < 0;
       return unref(xPos) < 0;
     });
     });
@@ -188,7 +201,7 @@ export default defineComponent({
     });
     });
 
 
     let scrollSwitch = computed(() => {
     let scrollSwitch = computed(() => {
-      // 从 props 解构出来的 属性 不再具有相应性. 
+      // 从 props 解构出来的 属性 不再具有相应性.
       return props.data.length >= unref(options).limitMoveNum;
       return props.data.length >= unref(options).limitMoveNum;
     });
     });
 
 
@@ -357,7 +370,7 @@ export default defineComponent({
       // 鼠标移入时拦截scrollMove()
       // 鼠标移入时拦截scrollMove()
       if (isHover) return;
       if (isHover) return;
       //进入move立即先清除动画 防止频繁touchMove导致多动画同时进行
       //进入move立即先清除动画 防止频繁touchMove导致多动画同时进行
-      scrollCancle();
+      // scrollCancle();
       reqFrame = requestAnimationFrame(function() {
       reqFrame = requestAnimationFrame(function() {
         //实际高度
         //实际高度
         const h = unref(realBoxHeight) / 2;
         const h = unref(realBoxHeight) / 2;
@@ -482,20 +495,20 @@ export default defineComponent({
       scrollCancle();
       scrollCancle();
     }
     }
 
 
-    watchEffect(() => {
-      const watchData = data;
-      if (!watchData) return;
-      nextTick(() => {
-        reset();
-      });
-
-      const watchAutoPlay = unref(autoPlay);
-      if (watchAutoPlay) {
-        reset();
-      } else {
-        scrollStopMove();
-      }
-    });
+    // watchEffect(() => {
+    //   const watchData = data;
+    //   if (!watchData) return;
+    //   nextTick(() => {
+    //     reset();
+    //   });
+
+    //   const watchAutoPlay = unref(autoPlay);
+    //   if (watchAutoPlay) {
+    //     reset();
+    //   } else {
+    //     scrollStopMove();
+    //   }
+    // });
 
 
     // 鼠标滚轮事件
     // 鼠标滚轮事件
     function wheel(e) {
     function wheel(e) {
@@ -564,4 +577,4 @@ export default defineComponent({
     };
     };
   }
   }
 });
 });
-</script>
+</script>