[new feature] Dialog: add title slot (#3985)

This commit is contained in:
neverland
2019-07-28 10:36:25 +08:00
committed by GitHub
parent 15046888d9
commit 3299fb6d39
5 changed files with 61 additions and 6 deletions

View File

@@ -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 && (
<div class={bem('header', { isolated: !message && !children })}>{title}</div>
<div class={bem('header', { isolated: !message && !messageSlot })}>{title}</div>
);
const Content = (children || message) && (
const Content = (messageSlot || message) && (
<div class={bem('content')}>
{children || (
{messageSlot || (
<div
domPropsInnerHTML={message}
class={bem('message', { 'has-title': title, [messageAlign]: messageAlign })}
@@ -131,7 +132,7 @@ export default createComponent({
<div
vShow={this.value}
role="dialog"
aria-labelledby={title || message}
aria-labelledby={this.title || message}
class={[bem(), this.className]}
>
{Title}