切换主题
Advanced CRUD (crud-ex)
适用范围:Legacy Admin Kit / Schema 与旧
admin-vue。新admin-nuxtui的开发入口见管理端 Nuxt UI 指南。
当页面需要 typed editor、row overlay、remote option、领域 renderer 或业务 command 时,选择 crud-ex。它仍使用 canonical Page Schema 与 Data Workbench,不是第二套页面框架。
当前能力结论
CLI 当前只有 standard-crud frontend-module recipe;对 crud-ex 的审核结论是 NO NEW RECIPE。Identity Users 与 Roles 虽然共享 Data Workbench contract,但它们的 editor、permission、validation 与 command binding 仍有真实领域差异,尚不足以收敛成稳定生成 recipe。
Authoring anatomy
text
canonical schema.ts (`pageKind: 'crud-ex'`)
├─ query/table/form/action intent
├─ typed extension keys
└─ registry linking
feature adapter / page contract
├─ generated DTO/request mapping
├─ datasource + option source
├─ generated validation port
└─ mutation/action executors
YDataExtensionCatalog
└─ editor / row-detail / row-overlay component
↓
Data Workbench / LegacyYDataTable + Editor Taskcrud-ex 必须至少声明一个已登记 extension;key、slot 与 overlay 不匹配时 compiler fail closed。Extension 只拥有业务差异,不能接管 Data Workbench query/selection/pagination 或另建 mutation 状态机。
Identity Users reference
apps/yoyo-admin/admin-vue/src/app/administration/identity/users/schema.tsapps/yoyo-admin/admin-vue/src/app/administration/identity/users/index.vueapps/yoyo-admin/admin-vue/src/app/administration/identity/users/page-contract.tsapps/yoyo-admin/admin-vue/src/app/administration/identity/users/DataRoleEditor.vue
该页面展示 remote-select option source、角色 editor、permission/history row overlay、generated validation 与 typed request mapping 的 owner 分工。
Identity Roles reference
apps/yoyo-admin/admin-vue/src/app/administration/identity/roles/schema.tsapps/yoyo-admin/admin-vue/src/app/administration/identity/roles/index.vueapps/yoyo-admin/admin-vue/src/app/administration/identity/roles/page-contract.tsapps/yoyo-admin/admin-vue/src/app/administration/identity/roles/RolePermissionEditor.vue
该页面展示 permission remote option、Dialog editor、Drawer row overlay、ActionContract 与 generated validation linking。
Application UI 选择
- 普通字段编辑:优先 Editor Task 的 Dialog。
- 长表单、树或需要列表上下文:显式声明 Drawer。
- 多阶段且需要独立 URL:使用 Page Frame,不把 workflow 强塞进 overlay。
选择规则见 Editor Task;组件 props 回到对应组件文档,不在这里复制。