app.vue 903 B

123456789101112131415161718192021222324252627282930313233343536
  1. <script lang="ts" setup>
  2. import type { GlobalConfigProvider } from 'tdesign-vue-next';
  3. import { watch } from 'vue';
  4. import { usePreferences } from '@vben/preferences';
  5. import { merge } from 'es-toolkit/compat';
  6. import { ConfigProvider } from 'tdesign-vue-next';
  7. import zhConfig from 'tdesign-vue-next/es/locale/zh_CN';
  8. defineOptions({ name: 'App' });
  9. const { isDark } = usePreferences();
  10. watch(
  11. () => isDark.value,
  12. (dark) => {
  13. document.documentElement.setAttribute('theme-mode', dark ? 'dark' : '');
  14. },
  15. { immediate: true },
  16. );
  17. const customConfig: GlobalConfigProvider = {
  18. // 可以在此处定义更多自定义配置,具体可配置内容参看 API 文档
  19. calendar: {},
  20. table: {},
  21. pagination: {},
  22. };
  23. const globalConfig = merge(zhConfig, customConfig);
  24. </script>
  25. <template>
  26. <ConfigProvider :global-config="globalConfig">
  27. <RouterView />
  28. </ConfigProvider>
  29. </template>