Dcat-Plus Admin v3.0.14 → v3.0.18 发布:异步表格全面进化,弹窗体验根治

AI摘要
【内容总结】 该内容为 Dcat-Plus Admin 框架 v3.0.14 至 v3.0.18 版本更新说明,属知识分享类技术文章。主要介绍异步表格弹窗体验优化、弹窗创建默认启用、删除后原地重载、弹窗查看尺寸配置、Markdown 编辑器图片粘贴上传及全屏按钮调整,并修复嵌套弹窗、七牛云存储兼容等问题,附升级方式与链接。

Dcat-Plus Admin v3.0.14 → v3.0.18 发布:异步表格全面进化,弹窗体验根治

基于 Laravel + Bootstrap 的极速后台开发框架,只需很少的代码即可快速构建一个功能完善的高颜值后台系统。

dcat-plus/laravel-admin 一次发布 v3.0.14 → v3.0.18 五个版本的累积更新(2.x 版本线同步发布 v2.0.31 → v2.0.35,内容完全一致)。本次共 10 项更新,主线只有一句话:把「弹窗异步表格」从需要各种 workaround 的半成品,做成开箱即用的完整体验。逐条说明如下。

🚀 升级方式


# 3.x

composer  require  dcat-plus/laravel-admin:^3.0

# 2.x(内容一致)

composer  require  dcat-plus/laravel-admin:^2.0

环境要求:PHP >= 8.3,Laravel 12 ~ 13。


更新一:异步表格行操作自动适配(弹窗编辑/弹窗查看)

说明:弹窗异步表格(Grid\LazyRenderable)里的整页编辑/查看会离开当前弹窗上下文且不可回退。现在用户未自定义 actions() 时自动适配:整页编辑/查看自动禁用,替换为快捷编辑(弹窗表单)与弹窗查看(viewOnly 弹层加载详情页,最小化渲染无侧栏)。


// 异步表格 renderable 里——什么都不用写

// 行操作自动变为:快捷编辑(弹窗)+ 弹窗查看 + 删除

用户已自定义 actions() 闭包时自动适配让位(尊重配置)。


更新二:默认启用弹窗创建,两行代码变零行

说明:弹窗创建此前需要手写两行,现已默认化——异步表格自动带「新增」弹窗创建按钮:


// 以前需要写:

$grid->showCreateButton();

$grid->enableDialogCreate();

// 现在这两行就是默认行为,直接省略

用户显式 $grid->disableCreateButton() 时尊重配置不自动启用。


更新三:行删除/批量删除后不跳转、表格原地重载

说明:弹窗异步表格里删除并确认后,此前会整页跳转到资源列表页(data-redirect 定向重载),弹窗上下文丢失。现在不跳转——删除确认后异步表格原地重载,被删行消失,弹窗保持打开。

  • 删除确认框中的点击延续上下文(无时间窗),不受确认环节耗时影响;

  • 批量删除同样生效;非弹窗场景(展开行/独立异步表格)原地刷新,普通页面行为不变。


更新四:弹窗查看支持自定义弹层尺寸

说明:详情内容较多时,小弹窗看不全。新增尺寸配置(对标原 modal->xl()),两种写法:


// 方式一:网格级配置(异步表格自动适配透传)

$grid->dialogViewSize('xl');

// 方式二:actions 闭包内

$grid->actions(function (Grid\Displayers\Actions  $actions) {

$actions->dialogView('xl'); // 预设 'sm'(600px×60%) / 'lg'(800px×80%) / 'xl'(1140px×90%)

// 或自定义:

$actions->dialogView(['800px', '600px']); // 数组

$actions->dialogView('80%'); // 宽度字符串(高默认 80%)

});

更新五:新增网格级弹窗查看开关 enableDialogView()

说明:页面级数据表格(非异步表格)也可开启弹窗查看——行操作「查看」以弹层打开详情页(最小化渲染、无侧栏导航),不离开当前页面:


$grid->enableDialogView(); // 查看 → 弹窗详情

$grid->dialogViewSize('lg'); // 可选:尺寸

实现于 Actions::renderView:保持原「查看」位置渲染,disableView() 显式禁用时尊重配置。


更新六:Markdown 编辑器粘贴图片自动上传

说明:在 Markdown 编辑器内直接 Ctrl+V / Cmd+V 粘贴截图,图片自动上传并在光标处插入 ![](url) 语法:

  • 走编辑器原有 imageUploadURL 通道,disk() / imageDirectory() 配置与白名单校验照常生效,开箱即用;

  • 一次粘贴多张图逐张上传,toast 提示进度,纯文本粘贴不受影响。


更新七:Markdown 全屏按钮悬浮右上角

说明:「全屏」按钮从 40 多个工具按钮堆里移出,悬浮在编辑器右上角——一眼可见、一点即进;全屏状态下再点即出(ESC 依然有效);适配深色模式,不遮挡原有工具。


修复(三项环境类顽疾根治)

修复一:嵌套弹窗六死因根治 + 遮罩残留清扫

说明:Bootstrap 4.3.1 原生不支持「modal 内再开 modal」(如异步表格弹窗里再开表单弹窗/快捷编辑),存在六个死因,全部根治:

| # | 死因 | 表现 | 修复 |

|—|——|——|——|

| 1 | z-index 固定撑不起多层 | 层级错乱、遮罩压住弹窗 | z-index 按打开层数递增,backdrop 跟随本层之下 |

| 2 | 内层 fade 动画回调不触发 | _isTransitioning 卡死,内层关不掉 | 内层自动去 fade |

| 3 | [data-dismiss] 委托冒泡 | 点内层关闭按钮误关外层 | 内层截断冒泡 |

| 4 | 内层事件冒泡误触外层 onShow | 内层一闪就关 | $.fn.on modal 四件套事件加 target 守卫 |

| 5 | 内层被外层 stacking context 困住 | 遮罩盖住全部内容 | show 时移到 body 下脱离外层上下文 |

| 6 | 筛选面板拦截 .modal 内点击冒泡 | 弹窗内所有开弹窗按钮失灵 | 改为关闭筛选面板的判断里排除 .modal |

另含:内层提交智能局部刷新(只关内层 + 刷新外层异步表格,不整页)、modal-open 状态恢复、backdrop 兜底清理、viewOnly 关闭遮罩残留清扫(兼容 iframe-tabs 顶层窗口,历史泄漏遮罩一次切页清掉)。

修复二:七牛云存储兼容 Laravel 10+

说明:安装 zgldh/qiniu-laravel-storage 的项目,媒体管理器浏览七牛盘直接 500——第三方包 listContents() 返回 Flysystem v1 数组,Laravel 10+ 强类型过滤必然 TypeError。

补丁内置进 dcat-plus(未安装 zgldh 的项目零开销):listContents() 返回 StorageAttributes、marker 分页拉全、子目录还原、putTime 转秒、域名强制 https。宿主自定义驱动在自己 App::booted 里再次 Storage::extend('qiniu') 即可。

修复三:skills 文档补齐数据详情页参考

新增 references/show-detail.md:Show 详情页完整 API(字段显示方法全目录、富文本识别、关联关系、card/fieldset 布局、工具栏、__call 魔术助手陷阱),并记录 Grid::resource() 只读 getter、model()->with() 可变参数静默丢弃等高频坑。


📦 2.x 用户

v2.0.31 → v2.0.35 五个版本与 3.x 逐版同步,内容完全一致。

🔗 链接

💬 交流与支持

  • 加作者微信 Q3664839,加入 dcat-admin 开发交流群;

  • 欢迎Star / 提 Issue / 提 PR,也欢迎赞助开源,让 Dcat-Plus 走得更远。


Dcat-Plus Admin —— 汇聚 Filament、Laravel-Admin、Dcat-Admin 优点于一身的 Laravel 极速开发框架。写更少的代码,交更棒的活。

本作品采用《CC 协议》,转载必须注明作者和本文链接
Dcat-Admin (plus版)是汇聚Filament,Laravel-admin , Dcat-admin 优点于一身的基于Laravel + Bootstrap 的极速开发框架
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
Dcat-plus Admin @ 速码邦
文章
53
粉丝
70
喜欢
263
收藏
208
排名:303
访问:3.1 万
私信
所有博文
社区赞助商