From 6640f6bf3c893e796c0dbca8ea17ad715b8052de Mon Sep 17 00:00:00 2001
From: HYF <952764082@qq.com>
Date: Sun, 11 Feb 2024 12:10:25 +0800
Subject: [PATCH] fix(NumberKeyboard): render delete slot correctly when theme
 is custom (#12624)

---
 .../src/number-keyboard/NumberKeyboard.tsx    |  2 +-
 .../test/__snapshots__/index.spec.ts.snap     | 20 ++++++++++++++++
 .../src/number-keyboard/test/index.spec.ts    | 23 +++++++++++++++++++
 3 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/packages/vant/src/number-keyboard/NumberKeyboard.tsx b/packages/vant/src/number-keyboard/NumberKeyboard.tsx
index 2ccd02489..4a702d161 100644
--- a/packages/vant/src/number-keyboard/NumberKeyboard.tsx
+++ b/packages/vant/src/number-keyboard/NumberKeyboard.tsx
@@ -237,7 +237,7 @@ export default defineComponent({
           <div class={bem('sidebar')}>
             {props.showDeleteKey && (
               <NumberKeyboardKey
-                v-slots={{ delete: slots.delete }}
+                v-slots={{ default: slots.delete }}
                 large
                 text={props.deleteButtonText}
                 type="delete"
diff --git a/packages/vant/src/number-keyboard/test/__snapshots__/index.spec.ts.snap b/packages/vant/src/number-keyboard/test/__snapshots__/index.spec.ts.snap
index 335b4042e..c86be78a9 100644
--- a/packages/vant/src/number-keyboard/test/__snapshots__/index.spec.ts.snap
+++ b/packages/vant/src/number-keyboard/test/__snapshots__/index.spec.ts.snap
@@ -1,5 +1,25 @@
 // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
 
+exports[`should render delete slot correctly 1`] = `
+<div
+  role="button"
+  tabindex="0"
+  class="van-key van-key--delete"
+>
+  Custom Delete Key
+</div>
+`;
+
+exports[`should render delete slot correctly when theme is custom 1`] = `
+<div
+  role="button"
+  tabindex="0"
+  class="van-key van-key--large van-key--delete"
+>
+  Custom Delete Key
+</div>
+`;
+
 exports[`should render extra key correctly when using extra-key prop 1`] = `
 <div
   role="button"
diff --git a/packages/vant/src/number-keyboard/test/index.spec.ts b/packages/vant/src/number-keyboard/test/index.spec.ts
index 533a2260e..4f11db5ae 100644
--- a/packages/vant/src/number-keyboard/test/index.spec.ts
+++ b/packages/vant/src/number-keyboard/test/index.spec.ts
@@ -105,6 +105,29 @@ test('should render extra-key slot correctly', () => {
   expect(wrapper.findAll('.van-key')[9].html()).toMatchSnapshot();
 });
 
+test('should render delete slot correctly', () => {
+  const wrapper = mount(NumberKeyboard, {
+    slots: {
+      delete: () => 'Custom Delete Key',
+    },
+  });
+
+  expect(wrapper.find('.van-key--delete').html()).toMatchSnapshot();
+});
+
+test('should render delete slot correctly when theme is custom', () => {
+  const wrapper = mount(NumberKeyboard, {
+    props: {
+      theme: 'custom',
+    },
+    slots: {
+      delete: () => 'Custom Delete Key',
+    },
+  });
+
+  expect(wrapper.find('.van-key--delete').html()).toMatchSnapshot();
+});
+
 test('should emit blur event after clicking outside', () => {
   const wrapper = mount(NumberKeyboard, {
     props: {