diff --git a/packages/create-vant-cli-app/generators/vue3/package.json.tpl b/packages/create-vant-cli-app/generators/vue3/package.json.tpl
index 3cba137fd..51bc22842 100644
--- a/packages/create-vant-cli-app/generators/vue3/package.json.tpl
+++ b/packages/create-vant-cli-app/generators/vue3/package.json.tpl
@@ -24,11 +24,11 @@
     "*.{ts,tsx,js,vue}": "eslint --fix"
   },
   "peerDependencies": {
-    "vue": "^3.3.4"
+    "vue": "^3.5.0"
   },
   "devDependencies": {
     "@vant/cli": "^7.0.0",
-    "vue": "^3.3.4",
+    "vue": "^3.5.0",
     "sass": "^1.49.7"
   },
   "eslintConfig": {
diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json
index b97253689..eb22ed452 100644
--- a/packages/vant-cli/package.json
+++ b/packages/vant-cli/package.json
@@ -43,7 +43,7 @@
     "@types/lodash": "^4.17.7",
     "@types/markdown-it": "^14.1.2",
     "rimraf": "^5.0.10",
-    "vue": "^3.4.33"
+    "vue": "^3.5.0"
   },
   "dependencies": {
     "@babel/core": "^7.25.2",
diff --git a/packages/vant-compat/package.json b/packages/vant-compat/package.json
index e1fe29c5d..a35a64203 100644
--- a/packages/vant-compat/package.json
+++ b/packages/vant-compat/package.json
@@ -36,9 +36,9 @@
   "author": "chenjiahan",
   "license": "MIT",
   "devDependencies": {
-    "@vue/runtime-core": "^3.4.33",
+    "@vue/runtime-core": "^3.5.0",
     "vant": "workspace:*",
-    "vue": "^3.4.33",
+    "vue": "^3.5.0",
     "esbuild": "^0.20.2",
     "rimraf": "^5.0.10",
     "typescript": "^5.4.5"
diff --git a/packages/vant-use/package.json b/packages/vant-use/package.json
index b3f656b69..65ddf164b 100644
--- a/packages/vant-use/package.json
+++ b/packages/vant-use/package.json
@@ -41,7 +41,7 @@
     "esbuild": "^0.20.2",
     "rimraf": "^5.0.10",
     "typescript": "^5.4.5",
-    "vue": "^3.4.33"
+    "vue": "^3.5.0"
   },
   "peerDependencies": {
     "vue": "^3.0.0"
diff --git a/packages/vant/package.json b/packages/vant/package.json
index 89077994e..d55ed61e8 100644
--- a/packages/vant/package.json
+++ b/packages/vant/package.json
@@ -48,7 +48,7 @@
   "dependencies": {
     "@vant/popperjs": "workspace:^",
     "@vant/use": "workspace:^",
-    "@vue/shared": "^3.4.33"
+    "@vue/shared": "^3.5.0"
   },
   "peerDependencies": {
     "vue": "^3.0.0"
@@ -62,7 +62,7 @@
     "@vitejs/plugin-vue": "^5.1.3",
     "@vitejs/plugin-vue-jsx": "^4.0.1",
     "@vitest/coverage-istanbul": "^1.6.0",
-    "@vue/runtime-core": "^3.4.33",
+    "@vue/runtime-core": "^3.5.0",
     "@vue/test-utils": "^2.4.6",
     "csstype": "^3.1.3",
     "diffable-html": "^5.0.0",
@@ -71,7 +71,7 @@
     "vite": "^5.4.3",
     "vitest": "^1.6.0",
     "vitest-canvas-mock": "^0.3.3",
-    "vue": "^3.4.33",
+    "vue": "^3.5.0",
     "vue-router": "^4.4.3"
   },
   "sideEffects": [
diff --git a/packages/vant/src/col/test/__snapshots__/demo-ssr.spec.ts.snap b/packages/vant/src/col/test/__snapshots__/demo-ssr.spec.ts.snap
index f673d6e68..78ca33ccb 100644
--- a/packages/vant/src/col/test/__snapshots__/demo-ssr.spec.ts.snap
+++ b/packages/vant/src/col/test/__snapshots__/demo-ssr.spec.ts.snap
@@ -68,14 +68,14 @@ exports[`should render demo and match snapshot 1`] = `
       span: 8
     </div>
     <div
-      style
+      style="padding-left:10px;"
       class="van-col van-col--8"
     >
       <!--[-->
       span: 8
     </div>
     <div
-      style
+      style="padding-left:13.333333333333332px;padding-right:1.7763568394002505e-15px;"
       class="van-col van-col--8"
     >
       <!--[-->
@@ -96,7 +96,7 @@ exports[`should render demo and match snapshot 1`] = `
         span: 12
       </div>
       <div
-        style
+        style="padding-left:10px;"
         class="van-col van-col--12"
       >
         <!--[-->
@@ -110,7 +110,7 @@ exports[`should render demo and match snapshot 1`] = `
         span: 12
       </div>
       <div
-        style
+        style="padding-left:10px;"
         class="van-col van-col--12"
       >
         <!--[-->
diff --git a/packages/vant/src/image/test/__snapshots__/demo-ssr.spec.ts.snap b/packages/vant/src/image/test/__snapshots__/demo-ssr.spec.ts.snap
new file mode 100644
index 000000000..1e32a0e92
--- /dev/null
+++ b/packages/vant/src/image/test/__snapshots__/demo-ssr.spec.ts.snap
@@ -0,0 +1,642 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`should render demo and match snapshot 1`] = `
+<!--[-->
+<div>
+  <!--[-->
+  <div class="van-row">
+    <!--[-->
+    <div
+      class="van-image"
+      style="width:100px;height:100px;"
+    >
+      <img
+        src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+        class="van-image__img"
+        style
+      >
+      <div class="van-image__loading">
+        <i
+          class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+          style
+        >
+          <!--[-->
+        </i>
+      </div>
+    </div>
+  </div>
+</div>
+<div>
+  <!--[-->
+  <div class="van-row">
+    <!--[-->
+    <!--[-->
+    <div
+      style
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:contain;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        contain
+      </div>
+    </div>
+    <div
+      style="padding-left:10px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:cover;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        cover
+      </div>
+    </div>
+    <div
+      style="padding-left:13.333333333333332px;padding-right:1.7763568394002505e-15px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:fill;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        fill
+      </div>
+    </div>
+    <div
+      style
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:none;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        none
+      </div>
+    </div>
+    <div
+      style="padding-left:10px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:scale-down;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        scale-down
+      </div>
+    </div>
+  </div>
+</div>
+<div>
+  <!--[-->
+  <div class="van-row">
+    <!--[-->
+    <!--[-->
+    <div
+      style
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:cover;object-position:left;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        cover
+      </div>
+      <div class="text">
+        left
+      </div>
+    </div>
+    <div
+      style="padding-left:10px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:cover;object-position:center;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        cover
+      </div>
+      <div class="text">
+        center
+      </div>
+    </div>
+    <div
+      style="padding-left:13.333333333333332px;padding-right:1.7763568394002505e-15px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:cover;object-position:right;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        cover
+      </div>
+      <div class="text">
+        right
+      </div>
+    </div>
+    <!--[-->
+    <div
+      style
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:contain;object-position:top;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        contain
+      </div>
+      <div class="text">
+        top
+      </div>
+    </div>
+    <div
+      style="padding-left:10px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:contain;object-position:center;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        contain
+      </div>
+      <div class="text">
+        center
+      </div>
+    </div>
+    <div
+      style="padding-left:13.333333333333332px;padding-right:1.7763568394002505e-15px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:contain;object-position:bottom;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        contain
+      </div>
+      <div class="text">
+        bottom
+      </div>
+    </div>
+  </div>
+</div>
+<div>
+  <!--[-->
+  <div class="van-row">
+    <!--[-->
+    <!--[-->
+    <div
+      style
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image van-image--round"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:contain;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        contain
+      </div>
+    </div>
+    <div
+      style="padding-left:10px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image van-image--round"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:cover;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        cover
+      </div>
+    </div>
+    <div
+      style="padding-left:13.333333333333332px;padding-right:1.7763568394002505e-15px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image van-image--round"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:fill;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        fill
+      </div>
+    </div>
+    <div
+      style
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image van-image--round"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:none;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        none
+      </div>
+    </div>
+    <div
+      style="padding-left:10px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image van-image--round"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg"
+          class="van-image__img"
+          style="object-fit:scale-down;"
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        scale-down
+      </div>
+    </div>
+  </div>
+</div>
+<div>
+  <!--[-->
+  <div class="van-row">
+    <!--[-->
+    <div
+      style
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        Default Tip
+      </div>
+    </div>
+    <div
+      style="padding-left:10px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <div class="van-image__loading">
+          <!--[-->
+          <div
+            class="van-loading van-loading--spinner"
+            aria-live="polite"
+            aria-busy="true"
+          >
+            <span
+              class="van-loading__spinner van-loading__spinner--spinner"
+              style="width:20px;height:20px;"
+            >
+              <!--[-->
+              <i class="van-loading__line van-loading__line--1">
+              </i>
+              <i class="van-loading__line van-loading__line--2">
+              </i>
+              <i class="van-loading__line van-loading__line--3">
+              </i>
+              <i class="van-loading__line van-loading__line--4">
+              </i>
+              <i class="van-loading__line van-loading__line--5">
+              </i>
+              <i class="van-loading__line van-loading__line--6">
+              </i>
+              <i class="van-loading__line van-loading__line--7">
+              </i>
+              <i class="van-loading__line van-loading__line--8">
+              </i>
+              <i class="van-loading__line van-loading__line--9">
+              </i>
+              <i class="van-loading__line van-loading__line--10">
+              </i>
+              <i class="van-loading__line van-loading__line--11">
+              </i>
+              <i class="van-loading__line van-loading__line--12">
+              </i>
+            </span>
+          </div>
+        </div>
+      </div>
+      <div class="text">
+        Custom Tip
+      </div>
+    </div>
+  </div>
+</div>
+<div>
+  <!--[-->
+  <div class="van-row">
+    <!--[-->
+    <div
+      style
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="http://x"
+          class="van-image__img"
+          style
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        Default Tip
+      </div>
+    </div>
+    <div
+      style="padding-left:10px;"
+      class="van-col van-col--8"
+    >
+      <!--[-->
+      <div
+        class="van-image"
+        style="width:100%;height:27vw;"
+      >
+        <img
+          src="http://x"
+          class="van-image__img"
+          style
+        >
+        <div class="van-image__loading">
+          <i
+            class="van-badge__wrapper van-icon van-icon-photo van-image__loading-icon"
+            style
+          >
+            <!--[-->
+          </i>
+        </div>
+      </div>
+      <div class="text">
+        Custom Tip
+      </div>
+    </div>
+  </div>
+</div>
+`;
diff --git a/packages/vant/src/image/test/demo-ssr.skip.ts b/packages/vant/src/image/test/demo-ssr.spec.ts
similarity index 56%
rename from packages/vant/src/image/test/demo-ssr.skip.ts
rename to packages/vant/src/image/test/demo-ssr.spec.ts
index de4fd1c1c..e00f7b093 100644
--- a/packages/vant/src/image/test/demo-ssr.skip.ts
+++ b/packages/vant/src/image/test/demo-ssr.spec.ts
@@ -1,9 +1,6 @@
 /**
  * @vitest-environment node
  */
-// TODO
-// enable this case and update snapshot after bump Vue new version
-// see: https://github.com/vuejs/core/pull/10397
 import Demo from '../demo/index.vue';
 import { snapshotDemo } from '../../../test/demo';
 
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b32a75bbd..7b7c7e934 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -64,8 +64,8 @@ importers:
         specifier: workspace:^
         version: link:../vant-use
       '@vue/shared':
-        specifier: ^3.4.33
-        version: 3.4.33
+        specifier: ^3.5.0
+        version: 3.5.3
     devDependencies:
       '@types/node':
         specifier: ^20.14.15
@@ -84,16 +84,16 @@ importers:
         version: link:../vant-icons
       '@vitejs/plugin-vue':
         specifier: ^5.1.3
-        version: 5.1.3(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.4.33(typescript@5.4.5))
+        version: 5.1.3(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.5.3(typescript@5.4.5))
       '@vitejs/plugin-vue-jsx':
         specifier: ^4.0.1
-        version: 4.0.1(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.4.33(typescript@5.4.5))
+        version: 4.0.1(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.5.3(typescript@5.4.5))
       '@vitest/coverage-istanbul':
         specifier: ^1.6.0
         version: 1.6.0(vitest@1.6.0(@types/node@20.14.15)(jsdom@24.1.3)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))
       '@vue/runtime-core':
-        specifier: ^3.4.33
-        version: 3.4.33
+        specifier: ^3.5.0
+        version: 3.5.3
       '@vue/test-utils':
         specifier: ^2.4.6
         version: 2.4.6
@@ -119,11 +119,11 @@ importers:
         specifier: ^0.3.3
         version: 0.3.3(vitest@1.6.0(@types/node@20.14.15)(jsdom@24.1.3)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))
       vue:
-        specifier: ^3.4.33
-        version: 3.4.33(typescript@5.4.5)
+        specifier: ^3.5.0
+        version: 3.5.3(typescript@5.4.5)
       vue-router:
         specifier: ^4.4.3
-        version: 4.4.3(vue@3.4.33(typescript@5.4.5))
+        version: 4.4.3(vue@3.5.3(typescript@5.4.5))
 
   packages/vant-area-data:
     devDependencies:
@@ -168,7 +168,7 @@ importers:
         version: 1.0.1-rc.5(@rsbuild/core@1.0.1-rc.5)
       '@rsbuild/plugin-vue':
         specifier: 1.0.1-rc.5
-        version: 1.0.1-rc.5(@rsbuild/core@1.0.1-rc.5)(esbuild@0.20.2)(vue@3.4.33(typescript@5.4.5))
+        version: 1.0.1-rc.5(@rsbuild/core@1.0.1-rc.5)(esbuild@0.20.2)(vue@3.5.3(typescript@5.4.5))
       '@rsbuild/plugin-vue-jsx':
         specifier: 1.0.1
         version: 1.0.1(@babel/core@7.25.2)(@rsbuild/core@1.0.1-rc.5)
@@ -180,10 +180,10 @@ importers:
         version: link:../vant-touch-emulator
       '@vitejs/plugin-vue':
         specifier: ^5.1.3
-        version: 5.1.3(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.4.33(typescript@5.4.5))
+        version: 5.1.3(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.5.3(typescript@5.4.5))
       '@vitejs/plugin-vue-jsx':
         specifier: ^4.0.1
-        version: 4.0.1(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.4.33(typescript@5.4.5))
+        version: 4.0.1(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.5.3(typescript@5.4.5))
       '@vue/babel-plugin-jsx':
         specifier: ^1.2.4
         version: 1.2.4(@babel/core@7.25.2)
@@ -264,7 +264,7 @@ importers:
         version: 5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6)
       vue-router:
         specifier: ^4.4.3
-        version: 4.4.3(vue@3.4.33(typescript@5.4.5))
+        version: 4.4.3(vue@3.5.3(typescript@5.4.5))
     devDependencies:
       '@types/fs-extra':
         specifier: ^11.0.4
@@ -282,14 +282,14 @@ importers:
         specifier: ^5.0.10
         version: 5.0.10
       vue:
-        specifier: ^3.4.33
-        version: 3.4.33(typescript@5.4.5)
+        specifier: ^3.5.0
+        version: 3.5.3(typescript@5.4.5)
 
   packages/vant-compat:
     devDependencies:
       '@vue/runtime-core':
-        specifier: ^3.4.33
-        version: 3.4.33
+        specifier: ^3.5.0
+        version: 3.5.3
       esbuild:
         specifier: ^0.20.2
         version: 0.20.2
@@ -303,8 +303,8 @@ importers:
         specifier: workspace:*
         version: link:../vant
       vue:
-        specifier: ^3.4.33
-        version: 3.4.33(typescript@5.4.5)
+        specifier: ^3.5.0
+        version: 3.5.3(typescript@5.4.5)
 
   packages/vant-eslint-config:
     dependencies:
@@ -359,8 +359,8 @@ importers:
         specifier: ^5.4.5
         version: 5.4.5
       vue:
-        specifier: ^3.4.33
-        version: 3.4.33(typescript@5.4.5)
+        specifier: ^3.5.0
+        version: 3.5.3(typescript@5.4.5)
 
 packages:
 
@@ -513,11 +513,6 @@ packages:
     engines: {node: '>=6.0.0'}
     hasBin: true
 
-  '@babel/parser@7.24.8':
-    resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==}
-    engines: {node: '>=6.0.0'}
-    hasBin: true
-
   '@babel/parser@7.25.3':
     resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==}
     engines: {node: '>=6.0.0'}
@@ -1319,49 +1314,34 @@ packages:
     peerDependencies:
       '@babel/core': ^7.0.0-0
 
-  '@vue/compiler-core@3.4.33':
-    resolution: {integrity: sha512-MoIREbkdPQlnGfSKDMgzTqzqx5nmEjIc0ydLVYlTACGBsfvOJ4tHSbZXKVF536n6fB+0eZaGEOqsGThPpdvF5A==}
-
   '@vue/compiler-core@3.5.3':
     resolution: {integrity: sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA==}
 
-  '@vue/compiler-dom@3.4.33':
-    resolution: {integrity: sha512-GzB8fxEHKw0gGet5BKlpfXEqoBnzSVWwMnT+dc25wE7pFEfrU/QsvjZMP9rD4iVXHBBoemTct8mN0GJEI6ZX5A==}
-
   '@vue/compiler-dom@3.5.3':
     resolution: {integrity: sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA==}
 
-  '@vue/compiler-sfc@3.4.33':
-    resolution: {integrity: sha512-7rk7Vbkn21xMwIUpHQR4hCVejwE6nvhBOiDgoBcR03qvGqRKA7dCBSsHZhwhYUsmjlbJ7OtD5UFIyhP6BY+c8A==}
-
   '@vue/compiler-sfc@3.5.3':
     resolution: {integrity: sha512-P3uATLny2tfyvMB04OQFe7Sczteno7SLFxwrOA/dw01pBWQHB5HL15a8PosoNX2aG/EAMGqnXTu+1LnmzFhpTQ==}
 
-  '@vue/compiler-ssr@3.4.33':
-    resolution: {integrity: sha512-0WveC9Ai+eT/1b6LCV5IfsufBZ0HP7pSSTdDjcuW302tTEgoBw8rHVHKPbGUtzGReUFCRXbv6zQDDgucnV2WzQ==}
-
   '@vue/compiler-ssr@3.5.3':
     resolution: {integrity: sha512-F/5f+r2WzL/2YAPl7UlKcJWHrvoZN8XwEBLnT7S4BXwncH25iDOabhO2M2DWioyTguJAGavDOawejkFXj8EM1w==}
 
   '@vue/devtools-api@6.6.3':
     resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
 
-  '@vue/reactivity@3.4.33':
-    resolution: {integrity: sha512-B24QIelahDbyHipBgbUItQblbd4w5HpG3KccL+YkGyo3maXyS253FzcTR3pSz739OTphmzlxP7JxEMWBpewilA==}
+  '@vue/reactivity@3.5.3':
+    resolution: {integrity: sha512-2w61UnRWTP7+rj1H/j6FH706gRBHdFVpIqEkSDAyIpafBXYH8xt4gttstbbCWdU3OlcSWO8/3mbKl/93/HSMpw==}
 
-  '@vue/runtime-core@3.4.33':
-    resolution: {integrity: sha512-6wavthExzT4iAxpe8q37/rDmf44nyOJGISJPxCi9YsQO+8w9v0gLCFLfH5TzD1V1AYrTAdiF4Y1cgUmP68jP6w==}
+  '@vue/runtime-core@3.5.3':
+    resolution: {integrity: sha512-5b2AQw5OZlmCzSsSBWYoZOsy75N4UdMWenTfDdI5bAzXnuVR7iR8Q4AOzQm2OGoA41xjk53VQKrqQhOz2ktWaw==}
 
-  '@vue/runtime-dom@3.4.33':
-    resolution: {integrity: sha512-iHsMCUSFJ+4z432Bn9kZzHX+zOXa6+iw36DaVRmKYZpPt9jW9riF32SxNwB124i61kp9+AZtheQ/mKoJLerAaQ==}
+  '@vue/runtime-dom@3.5.3':
+    resolution: {integrity: sha512-wPR1DEGc3XnQ7yHbmkTt3GoY0cEnVGQnARRdAkDzZ8MbUKEs26gogCQo6AOvvgahfjIcnvWJzkZArQ1fmWjcSg==}
 
-  '@vue/server-renderer@3.4.33':
-    resolution: {integrity: sha512-jTH0d6gQcaYideFP/k0WdEu8PpRS9MF8d0b6SfZzNi+ap972pZ0TNIeTaESwdOtdY0XPVj54XEJ6K0wXxir4fw==}
+  '@vue/server-renderer@3.5.3':
+    resolution: {integrity: sha512-28volmaZVG2PGO3V3+gBPKoSHvLlE8FGfG/GKXKkjjfxLuj/50B/0OQGakM/g6ehQeqCrZYM4eHC4Ks48eig1Q==}
     peerDependencies:
-      vue: 3.4.33
-
-  '@vue/shared@3.4.33':
-    resolution: {integrity: sha512-aoRY0jQk3A/cuvdkodTrM4NMfxco8n55eG4H7ML/CRy7OryHfiqvug4xrCBBMbbN+dvXAetDDwZW9DXWWjBntA==}
+      vue: 3.5.3
 
   '@vue/shared@3.5.3':
     resolution: {integrity: sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA==}
@@ -3008,8 +2988,8 @@ packages:
     peerDependencies:
       vue: ^3.2.0
 
-  vue@3.4.33:
-    resolution: {integrity: sha512-VdMCWQOummbhctl4QFMcW6eNtXHsFyDlX60O/tsSQuCcuDOnJ1qPOhhVla65Niece7xq/P2zyZReIO5mP+LGTQ==}
+  vue@3.5.3:
+    resolution: {integrity: sha512-xvRbd0HpuLovYbOHXRHlSBsSvmUJbo0pzbkKTApWnQGf3/cu5Z39mQeA5cZdLRVIoNf3zI6MSoOgHUT5i2jO+Q==}
     peerDependencies:
       typescript: '*'
     peerDependenciesMeta:
@@ -3335,10 +3315,6 @@ snapshots:
     dependencies:
       '@babel/types': 7.25.2
 
-  '@babel/parser@7.24.8':
-    dependencies:
-      '@babel/types': 7.25.2
-
   '@babel/parser@7.25.3':
     dependencies:
       '@babel/types': 7.25.2
@@ -3804,10 +3780,10 @@ snapshots:
       - '@babel/core'
       - supports-color
 
-  '@rsbuild/plugin-vue@1.0.1-rc.5(@rsbuild/core@1.0.1-rc.5)(esbuild@0.20.2)(vue@3.4.33(typescript@5.4.5))':
+  '@rsbuild/plugin-vue@1.0.1-rc.5(@rsbuild/core@1.0.1-rc.5)(esbuild@0.20.2)(vue@3.5.3(typescript@5.4.5))':
     dependencies:
       '@rsbuild/core': 1.0.1-rc.5
-      vue-loader: 17.4.2(vue@3.4.33(typescript@5.4.5))(webpack@5.94.0(esbuild@0.20.2))
+      vue-loader: 17.4.2(vue@3.5.3(typescript@5.4.5))(webpack@5.94.0(esbuild@0.20.2))
       webpack: 5.94.0(esbuild@0.20.2)
     transitivePeerDependencies:
       - '@swc/core'
@@ -4018,20 +3994,20 @@ snapshots:
 
   '@ungap/structured-clone@1.2.0': {}
 
-  '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.4.33(typescript@5.4.5))':
+  '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.5.3(typescript@5.4.5))':
     dependencies:
       '@babel/core': 7.25.2
       '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.25.2)
       '@vue/babel-plugin-jsx': 1.2.4(@babel/core@7.25.2)
       vite: 5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6)
-      vue: 3.4.33(typescript@5.4.5)
+      vue: 3.5.3(typescript@5.4.5)
     transitivePeerDependencies:
       - supports-color
 
-  '@vitejs/plugin-vue@5.1.3(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.4.33(typescript@5.4.5))':
+  '@vitejs/plugin-vue@5.1.3(vite@5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))(vue@3.5.3(typescript@5.4.5))':
     dependencies:
       vite: 5.4.3(@types/node@20.14.15)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6)
-      vue: 3.4.33(typescript@5.4.5)
+      vue: 3.5.3(typescript@5.4.5)
 
   '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@20.14.15)(jsdom@24.1.3)(less@4.2.0)(sass-embedded@1.78.0)(terser@5.31.6))':
     dependencies:
@@ -4107,14 +4083,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@vue/compiler-core@3.4.33':
-    dependencies:
-      '@babel/parser': 7.24.8
-      '@vue/shared': 3.4.33
-      entities: 4.5.0
-      estree-walker: 2.0.2
-      source-map-js: 1.2.0
-
   '@vue/compiler-core@3.5.3':
     dependencies:
       '@babel/parser': 7.25.6
@@ -4123,28 +4091,11 @@ snapshots:
       estree-walker: 2.0.2
       source-map-js: 1.2.0
 
-  '@vue/compiler-dom@3.4.33':
-    dependencies:
-      '@vue/compiler-core': 3.4.33
-      '@vue/shared': 3.4.33
-
   '@vue/compiler-dom@3.5.3':
     dependencies:
       '@vue/compiler-core': 3.5.3
       '@vue/shared': 3.5.3
 
-  '@vue/compiler-sfc@3.4.33':
-    dependencies:
-      '@babel/parser': 7.24.7
-      '@vue/compiler-core': 3.4.33
-      '@vue/compiler-dom': 3.4.33
-      '@vue/compiler-ssr': 3.4.33
-      '@vue/shared': 3.4.33
-      estree-walker: 2.0.2
-      magic-string: 0.30.10
-      postcss: 8.4.45
-      source-map-js: 1.2.0
-
   '@vue/compiler-sfc@3.5.3':
     dependencies:
       '@babel/parser': 7.25.6
@@ -4157,11 +4108,6 @@ snapshots:
       postcss: 8.4.45
       source-map-js: 1.2.0
 
-  '@vue/compiler-ssr@3.4.33':
-    dependencies:
-      '@vue/compiler-dom': 3.4.33
-      '@vue/shared': 3.4.33
-
   '@vue/compiler-ssr@3.5.3':
     dependencies:
       '@vue/compiler-dom': 3.5.3
@@ -4169,29 +4115,27 @@ snapshots:
 
   '@vue/devtools-api@6.6.3': {}
 
-  '@vue/reactivity@3.4.33':
+  '@vue/reactivity@3.5.3':
     dependencies:
-      '@vue/shared': 3.4.33
+      '@vue/shared': 3.5.3
 
-  '@vue/runtime-core@3.4.33':
+  '@vue/runtime-core@3.5.3':
     dependencies:
-      '@vue/reactivity': 3.4.33
-      '@vue/shared': 3.4.33
+      '@vue/reactivity': 3.5.3
+      '@vue/shared': 3.5.3
 
-  '@vue/runtime-dom@3.4.33':
+  '@vue/runtime-dom@3.5.3':
     dependencies:
-      '@vue/reactivity': 3.4.33
-      '@vue/runtime-core': 3.4.33
-      '@vue/shared': 3.4.33
+      '@vue/reactivity': 3.5.3
+      '@vue/runtime-core': 3.5.3
+      '@vue/shared': 3.5.3
       csstype: 3.1.3
 
-  '@vue/server-renderer@3.4.33(vue@3.4.33(typescript@5.4.5))':
+  '@vue/server-renderer@3.5.3(vue@3.5.3(typescript@5.4.5))':
     dependencies:
-      '@vue/compiler-ssr': 3.4.33
-      '@vue/shared': 3.4.33
-      vue: 3.4.33(typescript@5.4.5)
-
-  '@vue/shared@3.4.33': {}
+      '@vue/compiler-ssr': 3.5.3
+      '@vue/shared': 3.5.3
+      vue: 3.5.3(typescript@5.4.5)
 
   '@vue/shared@3.5.3': {}
 
@@ -5842,27 +5786,27 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  vue-loader@17.4.2(vue@3.4.33(typescript@5.4.5))(webpack@5.94.0(esbuild@0.20.2)):
+  vue-loader@17.4.2(vue@3.5.3(typescript@5.4.5))(webpack@5.94.0(esbuild@0.20.2)):
     dependencies:
       chalk: 4.1.2
       hash-sum: 2.0.0
       watchpack: 2.4.1
       webpack: 5.94.0(esbuild@0.20.2)
     optionalDependencies:
-      vue: 3.4.33(typescript@5.4.5)
+      vue: 3.5.3(typescript@5.4.5)
 
-  vue-router@4.4.3(vue@3.4.33(typescript@5.4.5)):
+  vue-router@4.4.3(vue@3.5.3(typescript@5.4.5)):
     dependencies:
       '@vue/devtools-api': 6.6.3
-      vue: 3.4.33(typescript@5.4.5)
+      vue: 3.5.3(typescript@5.4.5)
 
-  vue@3.4.33(typescript@5.4.5):
+  vue@3.5.3(typescript@5.4.5):
     dependencies:
-      '@vue/compiler-dom': 3.4.33
-      '@vue/compiler-sfc': 3.4.33
-      '@vue/runtime-dom': 3.4.33
-      '@vue/server-renderer': 3.4.33(vue@3.4.33(typescript@5.4.5))
-      '@vue/shared': 3.4.33
+      '@vue/compiler-dom': 3.5.3
+      '@vue/compiler-sfc': 3.5.3
+      '@vue/runtime-dom': 3.5.3
+      '@vue/server-renderer': 3.5.3(vue@3.5.3(typescript@5.4.5))
+      '@vue/shared': 3.5.3
     optionalDependencies:
       typescript: 5.4.5