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
9df14c60
Unverified
Commit
9df14c60
authored
Jul 12, 2021
by
Sendya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add disable collapsedButtonRender props
parent
2e9ef838
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
39 additions
and
23 deletions
+39
-23
BasicLayout.vue
examples/layouts/BasicLayout.vue
+3
-0
package.json
package.json
+1
-1
BasicLayout.tsx
src/BasicLayout.tsx
+9
-0
SiderMenu.tsx
src/SiderMenu/SiderMenu.tsx
+26
-22
No files found.
examples/layouts/BasicLayout.vue
View file @
9df14c60
...
@@ -5,6 +5,9 @@
...
@@ -5,6 +5,9 @@
v-model:openKeys=
"baseState.openKeys"
v-model:openKeys=
"baseState.openKeys"
v-bind=
"state"
v-bind=
"state"
>
>
<template
#
collapsedButtonRender
>
<a-button>
abc
</a-button>
</
template
>
<!-- custom right-content -->
<!-- custom right-content -->
<
template
#
rightContentRender
>
<
template
#
rightContentRender
>
<span
style=
"color: #0f0"
>
right
</span>
<span
style=
"color: #0f0"
>
right
</span>
...
...
package.json
View file @
9df14c60
{
{
"name"
:
"@ant-design-vue/pro-layout"
,
"name"
:
"@ant-design-vue/pro-layout"
,
"version"
:
"3.1.0-alpha.
0
"
,
"version"
:
"3.1.0-alpha.
1
"
,
"license"
:
"
MIT
"
,
"license"
:
"
MIT
"
,
"files"
:
[
"files"
:
[
"dist"
,
"dist"
,
...
...
src/BasicLayout.tsx
View file @
9df14c60
...
@@ -47,6 +47,10 @@ export const basicLayoutProps = {
...
@@ -47,6 +47,10 @@ export const basicLayoutProps = {
type
:
[
Object
,
Function
]
as
PropType
<
BreadcrumbProps
>
,
type
:
[
Object
,
Function
]
as
PropType
<
BreadcrumbProps
>
,
default
:
()
=>
null
,
default
:
()
=>
null
,
},
},
collapsedButtonRender
:
{
type
:
[
Function
,
Object
,
Boolean
]
as
PropType
<
WithFalse
<
(
collapsed
?:
boolean
)
=>
CustomRender
>>
,
default
:
()
=>
undefined
,
},
breadcrumbRender
:
{
breadcrumbRender
:
{
type
:
[
Object
,
Function
,
Boolean
]
as
PropType
<
WithFalse
<
BreadcrumbProps
[
'itemRender'
]
>>
,
type
:
[
Object
,
Function
,
Boolean
]
as
PropType
<
WithFalse
<
BreadcrumbProps
[
'itemRender'
]
>>
,
default
:
()
=>
{},
default
:
()
=>
{},
...
@@ -154,6 +158,8 @@ const ProLayout = defineComponent({
...
@@ -154,6 +158,8 @@ const ProLayout = defineComponent({
}
}
return
<
Header
{
...
p
}
matchMenuKeys=
{
matchMenuKeys
||
[]
}
/>;
return
<
Header
{
...
p
}
matchMenuKeys=
{
matchMenuKeys
||
[]
}
/>;
};
};
const
collapsedButtonRender
=
getPropsSlot
(
slots
,
props
,
'collapsedButtonRender'
);
const
rightContentRender
=
getPropsSlot
(
slots
,
props
,
'rightContentRender'
);
const
rightContentRender
=
getPropsSlot
(
slots
,
props
,
'rightContentRender'
);
const
customHeaderRender
=
getPropsSlot
(
slots
,
props
,
'headerRender'
);
const
customHeaderRender
=
getPropsSlot
(
slots
,
props
,
'headerRender'
);
const
menuHeaderRender
=
getPropsSlot
(
slots
,
props
,
'menuHeaderRender'
);
const
menuHeaderRender
=
getPropsSlot
(
slots
,
props
,
'menuHeaderRender'
);
...
@@ -161,6 +167,8 @@ const ProLayout = defineComponent({
...
@@ -161,6 +167,8 @@ const ProLayout = defineComponent({
// const menuRender = getPropsSlot(slots, props, 'menuRender');
// const menuRender = getPropsSlot(slots, props, 'menuRender');
const
breadcrumbRender
=
getPropsSlot
(
slots
,
props
,
'breadcrumbRender'
);
const
breadcrumbRender
=
getPropsSlot
(
slots
,
props
,
'breadcrumbRender'
);
console
.
log
(
'collapsedButtonRender'
,
collapsedButtonRender
);
console
.
log
(
'rightContentRender'
,
rightContentRender
);
const
headerDom
=
computed
(()
=>
const
headerDom
=
computed
(()
=>
headerRender
(
headerRender
(
{
{
...
@@ -222,6 +230,7 @@ const ProLayout = defineComponent({
...
@@ -222,6 +230,7 @@ const ProLayout = defineComponent({
{
...
restProps
.
value
}
{
...
restProps
.
value
}
isMobile=
{
isMobile
.
value
}
isMobile=
{
isMobile
.
value
}
menuHeaderRender=
{
menuHeaderRender
}
menuHeaderRender=
{
menuHeaderRender
}
collapsedButtonRender=
{
collapsedButtonRender
}
onCollapse=
{
onCollapse
}
onCollapse=
{
onCollapse
}
onSelect=
{
onSelect
}
onSelect=
{
onSelect
}
onOpenKeys=
{
onOpenKeys
}
onOpenKeys=
{
onOpenKeys
}
...
...
src/SiderMenu/SiderMenu.tsx
View file @
9df14c60
...
@@ -59,7 +59,7 @@ export const siderMenuProps = {
...
@@ -59,7 +59,7 @@ export const siderMenuProps = {
default
:
()
=>
undefined
,
default
:
()
=>
undefined
,
},
},
collapsedButtonRender
:
{
collapsedButtonRender
:
{
type
:
[
Function
,
Object
]
as
PropType
<
WithFalse
<
(
collapsed
?:
boolean
)
=>
CustomRender
>>
,
type
:
[
Function
,
Object
,
Boolean
]
as
PropType
<
WithFalse
<
(
collapsed
?:
boolean
)
=>
CustomRender
>>
,
default
:
()
=>
undefined
,
default
:
()
=>
undefined
,
},
},
breakpoint
:
{
breakpoint
:
{
...
@@ -258,28 +258,32 @@ const SiderMenu: FC<SiderMenuProps> = (props: SiderMenuProps) => {
...
@@ -258,28 +258,32 @@ const SiderMenu: FC<SiderMenuProps> = (props: SiderMenuProps) => {
{
(
menuContentRender
&&
menuContentRender
(
props
,
defaultMenuDom
))
||
defaultMenuDom
}
{
(
menuContentRender
&&
menuContentRender
(
props
,
defaultMenuDom
))
||
defaultMenuDom
}
</
div
>
</
div
>
<
div
class=
{
`${baseClassName}-links`
}
>
<
div
class=
{
`${baseClassName}-links`
}
>
<
Menu
{
collapsedButtonRender
!==
false
?
(
class=
{
`${baseClassName}-link-menu`
}
<
Menu
inlineIndent=
{
16
}
class=
{
`${baseClassName}-link-menu`
}
theme=
{
sTheme
.
value
as
'light'
|
'dark'
}
inlineIndent=
{
16
}
selectedKeys=
{
[]
}
theme=
{
sTheme
.
value
as
'light'
|
'dark'
}
openKeys=
{
[]
}
selectedKeys=
{
[]
}
mode=
"inline"
openKeys=
{
[]
}
// @ts-ignore
mode=
"inline"
onClick=
{
()
=>
{
// @ts-ignore
if
(
onCollapse
)
{
onClick=
{
()
=>
{
onCollapse
(
!
props
.
collapsed
);
if
(
onCollapse
)
{
}
onCollapse
(
!
props
.
collapsed
);
}
}
}
>
}
}
<
Menu
.
Item
key=
{
'collapsed-button'
}
class=
{
`${baseClassName}-collapsed-button`
}
title=
{
false
}
>
>
{
collapsedButtonRender
&&
collapsedButtonRender
(
collapsed
)
}
<
Menu
.
Item
</
Menu
.
Item
>
key=
{
'collapsed-button'
}
</
Menu
>
class=
{
`${baseClassName}-collapsed-button`
}
title=
{
false
}
>
{
collapsedButtonRender
&&
typeof
collapsedButtonRender
===
'function'
?
collapsedButtonRender
(
collapsed
)
:
collapsedButtonRender
}
</
Menu
.
Item
>
</
Menu
>
)
:
null
}
</
div
>
</
div
>
{
menuFooterRender
&&
<
div
class=
{
`${baseClassName}-footer`
}
>
{
menuFooterRender
(
props
)
}
</
div
>
}
{
menuFooterRender
&&
<
div
class=
{
`${baseClassName}-footer`
}
>
{
menuFooterRender
(
props
)
}
</
div
>
}
</
Sider
>
</
Sider
>
...
...
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