Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
pro-layout
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
packages
pro-layout
Commits
83786be1
Commit
83786be1
authored
Aug 04, 2020
by
Sendya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: add PageHeaderWrapper tags, title slot
parent
d65c447a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
4 deletions
+24
-4
basic-form.vue
examples/src/views/form/basic-form.vue
+7
-0
index.jsx
src/components/PageHeaderWrapper/index.jsx
+17
-4
No files found.
examples/src/views/form/basic-form.vue
View file @
83786be1
...
@@ -14,6 +14,13 @@
...
@@ -14,6 +14,13 @@
console.log('PageHeader::.back')
console.log('PageHeader::.back')
}"
}"
>
>
<template
v-slot:title
>
自定义标题
</
template
>
<
template
v-slot:tags
>
<a-tag
color=
"pink"
>
tag1
</a-tag>
<a-tag>
tag2
</a-tag>
</
template
>
<
template
v-slot:content
>
<
template
v-slot:content
>
<span>
{{
$t
(
'pages.form.basicform.content'
)
}}
</span>
<span>
{{
$t
(
'pages.form.basicform.content'
)
}}
</span>
</
template
>
</
template
>
...
...
src/components/PageHeaderWrapper/index.jsx
View file @
83786be1
import
'./index.less'
import
'./index.less'
import
PropTypes
from
'ant-design-vue/es/_util/vue-types'
import
PropTypes
from
'ant-design-vue/es/_util/vue-types'
import
{
isArray
}
from
'ant-design-vue/lib/_util/vue-types/utils'
import
GridContent
from
'../GridContent'
import
GridContent
from
'../GridContent'
import
'ant-design-vue/es/page-header/style'
import
'ant-design-vue/es/page-header/style'
import
PageHeader
,
{
PageHeaderProps
}
from
'ant-design-vue/es/page-header'
import
PageHeader
,
{
PageHeaderProps
}
from
'ant-design-vue/es/page-header'
...
@@ -8,6 +9,7 @@ import 'ant-design-vue/es/tabs/style'
...
@@ -8,6 +9,7 @@ import 'ant-design-vue/es/tabs/style'
import
Tabs
from
'ant-design-vue/es/tabs'
import
Tabs
from
'ant-design-vue/es/tabs'
import
{
getComponentFromProp
}
from
'ant-design-vue/lib/_util/props-util'
import
{
getComponentFromProp
}
from
'ant-design-vue/lib/_util/props-util'
const
prefixedClassName
=
'ant-pro-page-header-wrap'
const
prefixedClassName
=
'ant-pro-page-header-wrap'
const
PageHeaderTabConfig
=
{
const
PageHeaderTabConfig
=
{
...
@@ -94,7 +96,8 @@ const renderPageHeader = (h, content, extraContent) => {
...
@@ -94,7 +96,8 @@ const renderPageHeader = (h, content, extraContent) => {
const
defaultPageHeaderRender
=
(
h
,
props
,
pageMeta
,
i18nRender
)
=>
{
const
defaultPageHeaderRender
=
(
h
,
props
,
pageMeta
,
i18nRender
)
=>
{
const
{
const
{
title
,
title
:
propTitle
,
tags
,
content
,
content
,
pageHeaderRender
,
pageHeaderRender
,
extra
,
extra
,
...
@@ -106,14 +109,20 @@ const defaultPageHeaderRender = (h, props, pageMeta, i18nRender) => {
...
@@ -106,14 +109,20 @@ const defaultPageHeaderRender = (h, props, pageMeta, i18nRender) => {
if
(
pageHeaderRender
)
{
if
(
pageHeaderRender
)
{
return
pageHeaderRender
({
...
props
})
return
pageHeaderRender
({
...
props
})
}
}
let
pageHeaderTitle
=
t
itle
let
pageHeaderTitle
=
propT
itle
if
(
!
title
&&
t
itle
!==
false
)
{
if
(
!
propTitle
&&
propT
itle
!==
false
)
{
pageHeaderTitle
=
pageMeta
.
title
pageHeaderTitle
=
pageMeta
.
title
}
}
// title props 不是 false 且不是 array 则直接渲染 title
// 反之认为是 VNode, 作为 render 参数直接传入到 PageHeader
const
title
=
isArray
(
pageHeaderTitle
)
?
pageHeaderTitle
:
pageHeaderTitle
&&
i18nRender
(
pageHeaderTitle
)
let
tabProps
=
{
let
tabProps
=
{
breadcrumb
,
breadcrumb
,
extra
,
extra
,
title
:
pageHeaderTitle
&&
i18nRender
(
pageHeaderTitle
),
tags
,
title
,
footer
:
renderFooter
(
h
,
restProps
,
i18nRender
),
footer
:
renderFooter
(
h
,
restProps
,
i18nRender
),
}
}
if
(
!
handleBack
)
{
if
(
!
handleBack
)
{
...
@@ -135,6 +144,8 @@ const PageHeaderWrapper = {
...
@@ -135,6 +144,8 @@ const PageHeaderWrapper = {
render
(
h
)
{
render
(
h
)
{
const
{
$route
,
$listeners
}
=
this
const
{
$route
,
$listeners
}
=
this
const
children
=
this
.
$slots
.
default
const
children
=
this
.
$slots
.
default
const
title
=
getComponentFromProp
(
this
,
'title'
)
const
tags
=
getComponentFromProp
(
this
,
'tags'
)
const
content
=
getComponentFromProp
(
this
,
'content'
)
const
content
=
getComponentFromProp
(
this
,
'content'
)
const
extra
=
getComponentFromProp
(
this
,
'extra'
)
const
extra
=
getComponentFromProp
(
this
,
'extra'
)
const
extraContent
=
getComponentFromProp
(
this
,
'extraContent'
)
const
extraContent
=
getComponentFromProp
(
this
,
'extraContent'
)
...
@@ -186,6 +197,8 @@ const PageHeaderWrapper = {
...
@@ -186,6 +197,8 @@ const PageHeaderWrapper = {
const
props
=
{
const
props
=
{
...
this
.
$props
,
...
this
.
$props
,
title
,
tags
,
content
,
content
,
extra
,
extra
,
extraContent
,
extraContent
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment