Files
FastapiAdmin/frontend/new-web/src/components/Crud/CrudLayout.vue
T
zhangtao 946497d6c6 feat: 重构前端布局和组件结构
refactor(router): 更新主页路径为/home并调整路由守卫逻辑
feat(overlays): 新增通用弹窗和抽屉组件
fix(menu.store): 优化菜单状态持久化配置
feat(config): 为HeaderBar添加组件尺寸选择功能
refactor(components): 迁移布局组件到layouts目录并优化图标使用
fix(styles): 调整主内容区滚动和布局样式
feat(exception): 新增401异常页面
refactor(api): 统一列表返回类型为单数形式
fix(horizontal-menu): 为水平菜单添加ID标识
refactor(settings): 扩展设置面板功能项和持久化配置
docs: 更新配置文件和组件文档注释
2026-05-04 08:25:47 +08:00

34 lines
884 B
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- 列表页基础外壳 examples/tables系统用户页一致 art-full-height + 主内容 art-table-card -->
<template>
<div
class="base-crud-page app-container flex min-h-0 flex-col"
:class="[{ 'base-crud-page--fill': fill }, fill ? 'art-full-height' : '', rootClass]"
>
<div v-if="$slots.search" class="base-crud-page__search min-h-0 shrink-0">
<slot name="search" />
</div>
<div class="base-crud-page__main flex min-h-0 flex-1 flex-col gap-4">
<slot />
</div>
<slot name="extra" />
</div>
</template>
<script setup lang="ts">
defineOptions({ name: "CrudLayout" });
withDefaults(
defineProps<{
/** 占满父级剩余高度(flex 子项常用) */
fill?: boolean;
/** 追加到根节点 class */
rootClass?: string | string[] | Record<string, boolean>;
}>(),
{
fill: true,
}
);
</script>