feat(package): 新增一些案例;但是 tailwindcss 仅在子项目生效
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
<script setup lang="ts">
|
||||
import { zhCN, dateZhCN } from 'naive-ui';
|
||||
import { omit } from 'naive-ui/es/_utils';
|
||||
import { useAttrs } from 'vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useLocalConfigStore } from '../../stores/useLocalConfigStore';
|
||||
|
||||
import { LayoutProvider } from '../layouts';
|
||||
|
||||
const { naiveThemeProps } = storeToRefs(useLocalConfigStore());
|
||||
|
||||
defineOptions({
|
||||
inheritAttrs: false,
|
||||
});
|
||||
|
||||
const attrs = useAttrs();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<n-config-provider
|
||||
v-bind="omit(attrs, ['locale', 'date-locale', 'theme-overrides'])"
|
||||
:locale="zhCN"
|
||||
:date-locale="dateZhCN"
|
||||
:theme-overrides="naiveThemeProps"
|
||||
>
|
||||
<n-dialog-provider>
|
||||
<n-message-provider>
|
||||
<n-notification-provider>
|
||||
<n-loading-bar-provider>
|
||||
<layout-provider>
|
||||
<slot />
|
||||
</layout-provider>
|
||||
</n-loading-bar-provider>
|
||||
</n-notification-provider>
|
||||
</n-message-provider>
|
||||
</n-dialog-provider>
|
||||
</n-config-provider>
|
||||
</template>
|
||||
@@ -0,0 +1,3 @@
|
||||
import ConfigProvider from './ConfigProvider.vue';
|
||||
|
||||
export const AppConfigProvider = ConfigProvider;
|
||||
1
packages/nanxing-admin/components/index.ts
Normal file
1
packages/nanxing-admin/components/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from './config-provider';
|
||||
8
packages/nanxing-admin/components/layouts/Provider.vue
Normal file
8
packages/nanxing-admin/components/layouts/Provider.vue
Normal file
@@ -0,0 +1,8 @@
|
||||
<script setup lang="ts">
|
||||
import Default from './default/Index.vue';
|
||||
console.log('Provider layout loaded');
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Default> <slot /> </Default>
|
||||
</template>
|
||||
33
packages/nanxing-admin/components/layouts/default/Index.vue
Normal file
33
packages/nanxing-admin/components/layouts/default/Index.vue
Normal file
@@ -0,0 +1,33 @@
|
||||
<script setup lang="ts">
|
||||
import { useLoadingBar } from 'naive-ui';
|
||||
import { loadingBarRef } from '../../../core/router/guards';
|
||||
import { onMounted } from 'vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useLocalConfigStore } from '../../../stores/useLocalConfigStore';
|
||||
|
||||
const { primaryColor } = storeToRefs(useLocalConfigStore());
|
||||
const loadingBar = useLoadingBar();
|
||||
|
||||
onMounted(() => {
|
||||
loadingBarRef.value = loadingBar;
|
||||
});
|
||||
|
||||
function pickerThemeColor() {
|
||||
loadingBarRef.value?.start();
|
||||
setTimeout(() => {
|
||||
loadingBarRef.value?.finish();
|
||||
}, 500);
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<n-layout position="absolute">
|
||||
<n-layout-header bordered class="h-12"> </n-layout-header>
|
||||
<n-layout position="absolute" has-sider class="top-12!">
|
||||
<n-layout-sider bordered />
|
||||
<n-layout-content>
|
||||
<slot />
|
||||
</n-layout-content>
|
||||
</n-layout>
|
||||
</n-layout>
|
||||
</template>
|
||||
6
packages/nanxing-admin/components/layouts/index.ts
Normal file
6
packages/nanxing-admin/components/layouts/index.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import Provider from './Provider.vue';
|
||||
|
||||
import Default from './default/index.vue';
|
||||
|
||||
export const LayoutProvider = Provider;
|
||||
export const LayoutDefault = Default;
|
||||
Reference in New Issue
Block a user