Skip to content

MasterDetailCrudTemplate 主从 CRUD 模板

包装 AiCrudPage 的主从 CRUD 页面模板。自动注入主从配置,适合主表+子表关联编辑场景。

基本用法

vue
<template>
  <MasterDetailCrudTemplate ref="crudRef" :crud-props="crudConfig" />
</template>

<script setup>
import { MasterDetailCrudTemplate } from '@/components/page-templates/MasterDetailCrudTemplate.vue'
import { ref } from 'vue'

const crudRef = ref()

const crudConfig = {
  columns: [...],
  editSchema: [...],
  apiConfig: { list: 'GET@/order/page', add: 'POST@/order', ... },
  childrenConfig: [
    {
      tabTitle: '订单明细',
      fields: [...],
      apiConfig: { ... }
    }
  ]
}

// 暴露方法
crudRef.value.showAdd()
crudRef.value.refresh()
</script>

Props

属性类型说明
crudPropsObject (required)传递给 AiCrudPage 的完整配置对象

内部合并逻辑

配置项合并结果
loadDetailOnEdit强制设为 true
modalWidth优先 crudProps.modalWidth,其次 crudProps.options.modalWidth,默认 '1080px'
childrenConfig优先 crudProps.childrenConfig,其次 crudProps.options.masterDetailConfig.children

Expose 方法

方法说明
showAdd(...args)打开新增弹窗
showDetail(...args)打开详情弹窗
refresh(...args)刷新表格数据

TreeCrudTemplate 树形 CRUD 模板

左树右表的树形 CRUD 页面模板。支持全量加载和懒加载,选中树节点自动过滤右侧表格。

基本用法

vue
<TreeCrudTemplate ref="crudRef" :crud-props="crudConfig" />

treeConfig 子配置

属性类型默认值说明
treeTitleString'树形分类'树标题
loadMode'full' | 'lazy''full'加载模式
filterFieldString'parentId'过滤字段
includeChildrenBooleantrue是否包含子节点
keyFieldString'id'树节点 key 字段
labelFieldString自动推导显示标签字段
childrenFieldString'children'子节点字段
targetFieldString'id'选中后过滤参数的值字段

treeConfig 未配置时降级为标准 CRUD。


ChildTableEditor 子表编辑器

用于表单中以内联可编辑表格管理一对多关联子数据。支持多 Tab、多种字段类型内联编辑、记录选择器批量添加、merge 模式软删除。

Props

属性类型默认值说明
valueObject{}子表数据对象,支持 v-model
childrenConfigArray[]子表配置数组
readonlyBooleanfalse只读模式
parentFormDataObject{}父表单数据
contextObject{}运行时上下文

childrenConfig 子属性

属性类型说明
tabTitleStringTab 标题
modelNameString模型名称
fieldsArray字段配置数组
saveMode'merge'merge 模式允许标记删除
minWidthNumber表格最小宽度

Expose 方法

方法说明
validate()校验所有子表必填字段
getValue()获取净化的子表数据

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架