From 3299fb6d3955880b444ed2e1ce1b5692d26a2c68 Mon Sep 17 00:00:00 2001 From: neverland Date: Sun, 28 Jul 2019 10:36:25 +0800 Subject: [PATCH] [new feature] Dialog: add title slot (#3985) --- src/dialog/Dialog.js | 13 +++++----- src/dialog/README.md | 7 ++++++ src/dialog/README.zh-CN.md | 9 +++++++ .../test/__snapshots__/index.spec.js.snap | 14 +++++++++++ src/dialog/test/index.spec.js | 24 +++++++++++++++++++ 5 files changed, 61 insertions(+), 6 deletions(-) diff --git a/src/dialog/Dialog.js b/src/dialog/Dialog.js index 490822474..323697bbf 100644 --- a/src/dialog/Dialog.js +++ b/src/dialog/Dialog.js @@ -78,16 +78,17 @@ export default createComponent({ return; } - const { title, message, messageAlign } = this; - const children = this.slots(); + const { message, messageAlign } = this; + const messageSlot = this.slots(); + const title = this.slots('title') || this.title; const Title = title && ( -
{title}
+
{title}
); - const Content = (children || message) && ( + const Content = (messageSlot || message) && (
- {children || ( + {messageSlot || ( `; + +exports[`default slot 1`] = ` + +`; + +exports[`title slot 1`] = ` + +`; diff --git a/src/dialog/test/index.spec.js b/src/dialog/test/index.spec.js index 8ad8d3a7a..509294545 100644 --- a/src/dialog/test/index.spec.js +++ b/src/dialog/test/index.spec.js @@ -102,3 +102,27 @@ test('button text', () => { test('dialog component', () => { expect(Dialog.Component).toEqual(DialogVue); }); + +test('default slot', () => { + const wrapper = mount(DialogVue, { + propsData: { + value: true + }, + scopedSlots: { + default: () => 'Custom Message' + } + }); + expect(wrapper).toMatchSnapshot(); +}); + +test('title slot', () => { + const wrapper = mount(DialogVue, { + propsData: { + value: true + }, + scopedSlots: { + title: () => 'Custom Title' + } + }); + expect(wrapper).toMatchSnapshot(); +});