From 52ee847ff8d710340d7b21efd08a3e0546e96033 Mon Sep 17 00:00:00 2001 From: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com> Date: Wed, 1 Jan 2025 15:01:09 +0100 Subject: [PATCH] fix(components): [page-header] use `$slots` instead of `useSlots` (#19455) * fix(components): [page-header] use `$slots` instead of `useSlots` closed #19453 * test(components): [page-header] add classes slots rendering case --- .../__tests__/page-header.test.tsx | 38 +++++++++++++++++++ .../page-header/src/page-header.vue | 23 +++++------ 2 files changed, 48 insertions(+), 13 deletions(-) diff --git a/packages/components/page-header/__tests__/page-header.test.tsx b/packages/components/page-header/__tests__/page-header.test.tsx index 7d0cadd401..b921a28742 100644 --- a/packages/components/page-header/__tests__/page-header.test.tsx +++ b/packages/components/page-header/__tests__/page-header.test.tsx @@ -94,6 +94,44 @@ describe('PageHeader.vue', () => { expect(wrapper.find('.el-page-header__title').text()).toEqual(AXIOM) }) + test('conditional slots rendering', async () => { + const wrapper = mount( + (props: { + showDefault: boolean + showBreadcrumb: boolean + showExtra: boolean + }) => ( + AXIOM : undefined, + breadcrumb: props.showBreadcrumb ? () => AXIOM : undefined, + extra: props.showExtra ? () => AXIOM : undefined, + }} + /> + ), + { + props: { + showDefault: false, + showBreadcrumb: false, + showExtra: false, + }, + } + ) + expect(wrapper.classes()).not.toContain('is-contentful') + expect(wrapper.classes()).not.toContain('el-page-header--has-breadcrumb') + expect(wrapper.classes()).not.toContain('el-page-header--has-extra') + + await wrapper.setProps({ + showDefault: true, + showBreadcrumb: true, + showExtra: true, + }) + + expect(wrapper.classes()).toContain('is-contentful') + expect(wrapper.classes()).toContain('el-page-header--has-breadcrumb') + expect(wrapper.classes()).toContain('el-page-header--has-extra') + }) + test('event back', async () => { const wrapper = mount(() => ) const pageHeader = wrapper.findComponent(PageHeader) diff --git a/packages/components/page-header/src/page-header.vue b/packages/components/page-header/src/page-header.vue index adbceec068..d1aeed39fe 100644 --- a/packages/components/page-header/src/page-header.vue +++ b/packages/components/page-header/src/page-header.vue @@ -1,5 +1,14 @@