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
ac99e813
Unverified
Commit
ac99e813
authored
Mar 18, 2021
by
Sendya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
build: 3.0.3
parent
5443a32c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
56 deletions
+40
-56
README.md
README.md
+38
-54
package.json
package.json
+1
-1
useMenu.ts
src/hooks/useMenu.ts
+1
-1
No files found.
README.md
View file @
ac99e813
...
...
@@ -4,11 +4,7 @@ Ant Design Pro Layout
<div
align=
"center"
>
[

](https://npmjs.org/package/@ant-design-vue/pro-layout)
[

](./package.json)
[

](https://v3.vuejs.org/guide/composition-api-introduction.html)
[

](https://npmjs.org/package/@ant-design-vue/pro-layout)
[

](./LICENSE)
[

](https://npmjs.org/package/@ant-design-vue/pro-layout)
[

](./package.json)
[

](https://v3.vuejs.org/guide/composition-api-introduction.html)
[

](https://npmjs.org/package/@ant-design-vue/pro-layout)
[

](./LICENSE)
</div>
...
...
@@ -26,32 +22,25 @@ npm i @ant-design-vue/pro-layout@next -S
First, you should add the icons that you need into the library.
```
js
import
{
createApp
}
from
'vue'
import
{
createApp
}
from
'vue'
;
import
ProLayout
,
{
PageContainer
}
from
'@ant-design-vue/pro-layout'
;
const
app
=
createApp
();
app
.
use
(
ProLayout
)
.
use
(
PageContainer
)
.
mount
(
'#app'
)
app
.
use
(
ProLayout
).
use
(
PageContainer
).
mount
(
'#app'
);
```
After that, you can use pro-layout in your Vue components as simply as this:
```
vue
<
template
>
<route-context-provider
:value=
"state"
>
<pro-layout>
<router-view
/>
</pro-layout>
</route-context-provider>
<pro-layout
v-bind=
"state"
>
<router-view
/>
</pro-layout>
</
template
>
<
script
>
import
{
defineComponent
,
reactive
}
from
'vue'
;
import
{
createRouteContext
}
from
'@ant-design-vue/pro-layout'
;
const
[
RouteContextProvider
]
=
createRouteContext
();
export
default
defineComponent
({
setup
()
{
...
...
@@ -69,56 +58,51 @@ export default defineComponent({
hasSideMenu
:
true
,
hasHeader
:
true
,
hasFooterToolbar
:
false
,
setHasFooterToolbar
:
(
has
)
=>
(
state
.
hasFooterToolbar
=
has
),
setHasFooterToolbar
:
has
=>
(
state
.
hasFooterToolbar
=
has
),
});
return
{
state
,
}
}
;
},
components
:
{
RouteContextProvider
,
}
});
</
script
>
```
or
`TSX`
```
tsx
import
{
defineComponent
,
reactive
}
from
'vue'
;
import
ProLayout
,
{
createRouteContext
,
RouteContextProps
}
from
'@ant-design-vue/pro-layout'
;
import
{
RouterView
}
from
'vue-router'
;
import
ProLayout
from
'@ant-design-vue/pro-layout'
;
export
default
defineComponent
({
setup
()
{
const
[
RouteContextProvider
]
=
createRouteContext
();
const
state
=
reactive
<
RouteContextProps
>
({
collapsed
:
false
,
openKeys
:
[
'/dashboard'
],
selectedKeys
:
[
'/welcome'
],
isMobile
:
false
,
fixSiderbar
:
false
,
fixedHeader
:
false
,
menuData
:
[],
sideWidth
:
208
,
hasSideMenu
:
true
,
hasHeader
:
true
,
hasFooterToolbar
:
false
,
setHasFooterToolbar
:
(
has
:
boolean
)
=>
(
state
.
hasFooterToolbar
=
has
),
});
return
()
=>
(
<
RouteContextProvider
value=
{
state
}
>
<
ProLayout
>
<
RouterView
/>
</
ProLayout
>
</
RouteContextProvider
>
)
}
})
```
setup
()
{
const
state
=
reactive
({
collapsed
:
false
,
openKeys
:
[
'/dashboard'
],
selectedKeys
:
[
'/welcome'
],
isMobile
:
false
,
fixSiderbar
:
false
,
fixedHeader
:
false
,
menuData
:
[],
sideWidth
:
208
,
hasSideMenu
:
true
,
hasHeader
:
true
,
hasFooterToolbar
:
false
,
setHasFooterToolbar
:
(
has
:
boolean
)
=>
(
state
.
hasFooterToolbar
=
has
),
});
return
()
=>
(
<
ProLayout
{
...
state
}
locale=
{
(
i18n
:
string
)
=>
i18n
}
>
<
RouterView
/>
</
ProLayout
>
);
},
});
```
## Build project
...
...
package.json
View file @
ac99e813
{
"name"
:
"@ant-design-vue/pro-layout"
,
"version"
:
"3.0.0-beta.
2
"
,
"version"
:
"3.0.0-beta.
3
"
,
"main"
:
"./lib/index.js"
,
"module"
:
"./es/index.js"
,
"repository"
:
{
...
...
src/hooks/useMenu.ts
View file @
ac99e813
...
...
@@ -70,5 +70,5 @@ export function useMenu({ collapsed = false, openKeys = [], selectedKeys = [] }:
}
export
function
useMenuState
():
Readonly
<
ToRefs
<
MenuStated
>>
&
MenuHandles
{
return
inject
(
MenuStateKey
);
return
inject
(
MenuStateKey
)
as
any
;
}
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