Unverified Commit ac99e813 authored by Sendya's avatar Sendya

build: 3.0.3

parent 5443a32c
...@@ -4,11 +4,7 @@ Ant Design Pro Layout ...@@ -4,11 +4,7 @@ Ant Design Pro Layout
<div align="center"> <div align="center">
[![NPM version](https://img.shields.io/npm/v/@ant-design-vue/pro-layout/next?style=flat)](https://npmjs.org/package/@ant-design-vue/pro-layout) [![NPM version](https://img.shields.io/npm/v/@ant-design-vue/pro-layout/next?style=flat)](https://npmjs.org/package/@ant-design-vue/pro-layout) [![Vue Support](https://img.shields.io/badge/support-Vue3-green?style=flat)](./package.json) [![Vue Grammar Level](https://img.shields.io/badge/full-Composition%20API-blue?style=flat)](https://v3.vuejs.org/guide/composition-api-introduction.html) [![NPM downloads](http://img.shields.io/npm/dm/@ant-design-vue/pro-layout.svg?style=flat)](https://npmjs.org/package/@ant-design-vue/pro-layout) [![License](https://img.shields.io/github/license/vueComponent/pro-layout)](./LICENSE)
[![Vue Support](https://img.shields.io/badge/support-Vue3-green?style=flat)](./package.json)
[![Vue Grammar Level](https://img.shields.io/badge/full-Composition%20API-blue?style=flat)](https://v3.vuejs.org/guide/composition-api-introduction.html)
[![NPM downloads](http://img.shields.io/npm/dm/@ant-design-vue/pro-layout.svg?style=flat)](https://npmjs.org/package/@ant-design-vue/pro-layout)
[![License](https://img.shields.io/github/license/vueComponent/pro-layout)](./LICENSE)
</div> </div>
...@@ -26,32 +22,25 @@ npm i @ant-design-vue/pro-layout@next -S ...@@ -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. First, you should add the icons that you need into the library.
```js ```js
import { createApp } from 'vue' import { createApp } from 'vue';
import ProLayout, { PageContainer } from '@ant-design-vue/pro-layout'; import ProLayout, { PageContainer } from '@ant-design-vue/pro-layout';
const app = createApp(); const app = createApp();
app.use(ProLayout) app.use(ProLayout).use(PageContainer).mount('#app');
.use(PageContainer)
.mount('#app')
``` ```
After that, you can use pro-layout in your Vue components as simply as this: After that, you can use pro-layout in your Vue components as simply as this:
```vue ```vue
<template> <template>
<route-context-provider :value="state"> <pro-layout v-bind="state">
<pro-layout> <router-view />
<router-view /> </pro-layout>
</pro-layout>
</route-context-provider>
</template> </template>
<script> <script>
import { defineComponent, reactive } from 'vue'; import { defineComponent, reactive } from 'vue';
import { createRouteContext } from '@ant-design-vue/pro-layout';
const [ RouteContextProvider ] = createRouteContext();
export default defineComponent({ export default defineComponent({
setup() { setup() {
...@@ -69,56 +58,51 @@ export default defineComponent({ ...@@ -69,56 +58,51 @@ export default defineComponent({
hasSideMenu: true, hasSideMenu: true,
hasHeader: true, hasHeader: true,
hasFooterToolbar: false, hasFooterToolbar: false,
setHasFooterToolbar: (has) => (state.hasFooterToolbar = has), setHasFooterToolbar: has => (state.hasFooterToolbar = has),
}); });
return { return {
state, state,
} };
}, },
components: {
RouteContextProvider,
}
}); });
</script> </script>
``` ```
or `TSX` or `TSX`
```tsx ```tsx
import { defineComponent, reactive } from 'vue'; 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({ export default defineComponent({
setup () { setup() {
const [ RouteContextProvider ] = createRouteContext(); const state = reactive({
collapsed: false,
const state = reactive<RouteContextProps>({
collapsed: false, openKeys: ['/dashboard'],
selectedKeys: ['/welcome'],
openKeys: ['/dashboard'],
selectedKeys: ['/welcome'], isMobile: false,
fixSiderbar: false,
isMobile: false, fixedHeader: false,
fixSiderbar: false, menuData: [],
fixedHeader: false, sideWidth: 208,
menuData: [], hasSideMenu: true,
sideWidth: 208, hasHeader: true,
hasSideMenu: true, hasFooterToolbar: false,
hasHeader: true, setHasFooterToolbar: (has: boolean) => (state.hasFooterToolbar = has),
hasFooterToolbar: false, });
setHasFooterToolbar: (has: boolean) => (state.hasFooterToolbar = has),
});
return () => (
<RouteContextProvider value={state}>
<ProLayout>
<RouterView />
</ProLayout>
</RouteContextProvider>
)
}
})
```
return () => (
<ProLayout {...state} locale={(i18n: string) => i18n}>
<RouterView />
</ProLayout>
);
},
});
```
## Build project ## Build project
......
{ {
"name": "@ant-design-vue/pro-layout", "name": "@ant-design-vue/pro-layout",
"version": "3.0.0-beta.2", "version": "3.0.0-beta.3",
"main": "./lib/index.js", "main": "./lib/index.js",
"module": "./es/index.js", "module": "./es/index.js",
"repository": { "repository": {
......
...@@ -70,5 +70,5 @@ export function useMenu({ collapsed = false, openKeys = [], selectedKeys = [] }: ...@@ -70,5 +70,5 @@ export function useMenu({ collapsed = false, openKeys = [], selectedKeys = [] }:
} }
export function useMenuState(): Readonly<ToRefs<MenuStated>> & MenuHandles { export function useMenuState(): Readonly<ToRefs<MenuStated>> & MenuHandles {
return inject(MenuStateKey); return inject(MenuStateKey) as any;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment