diff --git a/src/router/modules/component.ts b/src/router/modules/component.ts index 6cffaf897..61c1e74c3 100644 --- a/src/router/modules/component.ts +++ b/src/router/modules/component.ts @@ -32,6 +32,48 @@ const component: AuthRoute.Route = { requiresAuth: true, icon: 'mdi:table-large' } + }, + { + name: 'component_tree', + path: '/component/tree', + component: 'multi', + children: [ + { + name: 'component_tree_tree-basic', + path: '/component/tree/tree-basic', + component: 'self', + meta: { + title: '基础树', + requiresAuth: true, + icon: 'fluent:tree-deciduous-20-regular' + } + }, + { + name: 'component_tree_tree-custom', + path: '/component/tree/tree-custom', + component: 'self', + meta: { + title: '自定义树', + requiresAuth: true, + icon: 'fluent:tree-deciduous-20-filled' + } + }, + { + name: 'component_tree_tree-functions', + path: '/component/tree/tree-functions', + component: 'self', + meta: { + title: '函数示例', + requiresAuth: true, + icon: 'fluent:tree-evergreen-20-filled' + } + } + ], + meta: { + title: '树', + requiresAuth: true, + icon: 'carbon:tree-view-alt' + } } ], meta: { diff --git a/src/typings/page-route.d.ts b/src/typings/page-route.d.ts index 48bdafa17..29a6df0b1 100644 --- a/src/typings/page-route.d.ts +++ b/src/typings/page-route.d.ts @@ -30,6 +30,10 @@ declare namespace PageRoute { | 'component_button' | 'component_card' | 'component_table' + | 'component_tree' + | 'component_tree_tree-basic' + | 'component_tree_tree-custom' + | 'component_tree_tree-functions' | 'dashboard' | 'dashboard_analysis' | 'dashboard_workbench' @@ -89,6 +93,9 @@ declare namespace PageRoute { | 'component_button' | 'component_card' | 'component_table' + | 'component_tree_tree-basic' + | 'component_tree_tree-custom' + | 'component_tree_tree-functions' | 'dashboard_analysis' | 'dashboard_workbench' | 'document_naive' diff --git a/src/views/component/tree/tree-basic/index.vue b/src/views/component/tree/tree-basic/index.vue index e09428d22..aa48a3768 100644 --- a/src/views/component/tree/tree-basic/index.vue +++ b/src/views/component/tree/tree-basic/index.vue @@ -145,8 +145,11 @@ import { ref, h } from 'vue'; import type { TreeOption, TreeInst } from 'naive-ui'; import { NIcon } from 'naive-ui'; import { repeat } from 'seemly'; +import { useIconRender } from '@/composables'; import { useLoading } from '@/hooks'; +const { iconRender } = useIconRender(); + const cascade = ref(true); const segmented = ref(true); @@ -310,7 +313,7 @@ const caseEightDefaultExpandedKeys = ref(['20']); const renderSwitcherIconWithExpaned = ({ expanded }: { expanded: boolean }) => h(NIcon, null, { - default: () => h(expanded ? : ) + default: () => h(expanded ? iconRender({ icon: 'solar:moon-broken' }) : iconRender({ icon: 'solar:sun-broken' })) }); function createRemoteData() { diff --git a/src/views/component/tree/tree-custom/index.vue b/src/views/component/tree/tree-custom/index.vue index 4ba9d71a6..ce204b9c4 100644 --- a/src/views/component/tree/tree-custom/index.vue +++ b/src/views/component/tree/tree-custom/index.vue @@ -189,7 +189,7 @@ function createSuffixData(level = 2, baseKey = ''): TreeOption[] | undefined { key, children: createSuffixData(level - 1, key), suffix: () => - h(NSpace, { justify: 'space-evenly' }, [ + h(NSpace, { justify: 'space-evenly' }, () => [ h(NButton, { text: true, class: 'pt-1.5' }, { default: () => }), h( NButton, diff --git a/src/views/component/tree/tree-functions/index.vue b/src/views/component/tree/tree-functions/index.vue index 93b6e8d65..dc50be19e 100644 --- a/src/views/component/tree/tree-functions/index.vue +++ b/src/views/component/tree/tree-functions/index.vue @@ -9,14 +9,6 @@ -