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: {