Dcat-Plus-Admin:dcat-admin框架的超级增强版,1.4.5发布

AI摘要
本次更新(v1.4.5)主要针对数据表格组件进行了功能增强与问题修复,属于技术知识分享。新增内容包括列隐藏逻辑统一、操作分组、树组件拖拽控制、固定表头及左树右表布局等多项功能,并修复了快速搜索重置、固定列交互等已知问题,确保向后兼容性。

更新日志 v1.4.5

  • 发布版本:v1.4.5
  • 发布日期:2026-01-31
  • 类型:功能增强(feat) / 修复(fix) / 优化(perf)

主要新增

1. 增强列隐藏能力

  • 修复 hideColumns() 的兼容性问题,确保在启用或禁用列选择器的两种场景下都能生效。
    示例:
    $grid->showColumnSelector(); // 启用列选择器
    $grid->hideColumns(['text', 'start_date']);

    2. 新增 hideColumnsWhen()(条件隐藏)

  • 使用 Closure 动态计算要隐藏的列(基于权限、请求参数或复杂逻辑)。
    示例:
    $grid->hideColumnsWhen(function ($grid) {
          if (request('role') === 'guest') {
                  return ['email', 'salary'];
          }
          return ['internal_note'];
    });

3. 统一隐藏逻辑

  • 新增 getHiddenColumns(),统一汇总来自以下来源的隐藏列:hideColumns()hideColumnsWhen()、列级 hidden()/visible()
  • 这样保证表头、复杂表头与数据列在显示状态上一致。
    示例(列级控制):
    $grid->column('text')->visible(fn() => false); // 列级关闭

4. Actions 分组(group)

  • 新增 group() 方法,为行操作添加下拉分组展示,便于收纳二级操作。
    示例:
$grid->actions(function (Grid\Displayers\Actions $actions) {
                $actions->group(function ($group) {
                    $group->append('<a href="#"><i class="feather icon-activity"></i> 审核</a>');
                    $group->append('<a href="#"><i class="feather icon-aperture"></i> 操作积分</a>');
                    $group->append('<a href="#"><i class="feather icon-bell"></i> 通知</a>');
                }, 'feather icon-more-vertical', '更多操作');
            });

dcat-admin( plus版 ) 1.4.5版发布 让dcat-admin 保存活力

5. 新增 CanBeHidden trait

  • 为列与树节点提供统一的 hidden() / visible() 条件方法,可接收 Closure,以便按上下文动态控制显示。

示例(树节点或列):


$grid->column('email')->hidden(fn() => !auth()->user()->isAdmin());

6. 树组件:拖拽控制

  • 新增 disableDraggable():关闭拖拽功能。

  • 新增 draggableAutoSave():拖拽后自动保存位置。

示例:


$tree->disableDraggable();
$tree->draggableAutoSave(true);

7. 表格固定表头

  • 新增 tableHeaderFixed() / gridHeaderFixed(),支持固定表头功能。

示例:


// 方式一 基于内容窗口
$grid->tableHeaderFixed(true);
// 方式二 限制table高度,表头固定内容滚动
$grid->gridHeaderFixed(true);

dcat-admin( plus版 ) 1.4.5版发布 让dcat-admin 保存活力
dcat-admin( plus版 ) 1.4.5版发布 让dcat-admin 保存活力

8. 左树右表面板(Tree + Table)

  • 新增 treePanel(),便捷构建「左树右表」布局。

示例:


$grid->treePanel(function () {
                $tree = new Tree(new ArticleCat);
                $tree->branch(function ($branch) {
                    return "{$branch['name']}";
                });
                return $tree;
       });

dcat-admin( plus版 ) 1.4.5版发布 让dcat-admin 保存活力

9. 接口请求模式优化

  • 在接口(API)请求模式下不初始化 dcat-admin 前端,避免与 API 客户端冲突或不必要的资源加载。

修复与优化

- 修复:清除快速搜索后未重置查询

  • 场景:在使用 quickSearch() 后清空搜索框,之前不会重置 Grid 查询条件。

  • 修复:搜索为空时会正常重置查询并刷新结果。

示例:


$grid->quickSearch(['text', 'type'])->placeholder('搜索...');

- 修复:固定列(fixed columns)下操作项折叠问题

  • 场景:启用固定列后,操作列中附加的折叠/下拉项无法正常显示或交互。

  • 修复:操作项支持折叠与交互,保证 UX 一致。

dcat-admin( plus版 ) 1.4.5版发布 让dcat-admin 保存活力

- 修复:固定列导致中间内容上下滚动问题

  • 场景:当左右列固定时,中间区域出现双向滚动/错位。

  • 修复:同步滚动逻辑修复,保证中间内容垂直滚动而不影响固定列显示。

- 兼容性与向后兼容保证

  • 保留旧 API 行为,新增接口向下兼容,不影响现有项目升级。

升级提示

  • 请清除视图缓存:php artisan view:clear,并清理浏览器缓存。

快速安装使用

composer create-project --prefer-dist "laravel/laravel:12.*" laravel12.test

composer require dcat-plus/laravel-admin:1.4.5

php artisan admin:publish

php artisan admin:install

环境要求

php >= 8.2
laravel >= 10
mysql 5.7 , 8

dcat-admin 并未停止不前,plus版 持续更新 保持活力

dcat-plus admin (plus版)沿用 dcat-admn 最新代码,并让dcat-admin 保持活力。已支持到Laravel12,并新增多个组件。

有问题找组织 微信技术交流群

Ftddkz65Fr.jpg!large

本作品采用《CC 协议》,转载必须注明作者和本文链接
Dcat-Admin (plus版)是汇聚Filament,Laravel-admin , Dcat-admin 优点于一身的基于Laravel + Bootstrap 的极速开发框架
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

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