一、需求背景

在第一次使用Dcat Admin的表单时遇到一个坑,在表格中要修改某一项数据时,跳转到编辑表单页面,同时要展示当前的数据,但是根据Dcat Admin的文档获取数据,发现不行,就很无奈。

二、实现步骤

其实很简单,就是需要在表单中调用 $form->edit(id)。当然,这是我一个人的想法,如果您有其它的方式可以提出来分享。

三、代码分享

public function editForm($id): Form
    $this->id = $id;
    return Form::make(new UserManagement(), function (Form $form) {
        $form->edit($this->id);
//        设置表单的title
        $form->title(admin_trans('admin.edit'));
        $this->extracted($form);
public function extracted(Form $form): void
    $form->display('id');
    $form->text('name');
    $form->email('email');
    $form->text('password');
    $form->display('created_at');
    $form->display('updated_at');
//        去掉'查看'复选框
    $form->disableViewCheck();
//        去掉'继续编辑'复选框
    $form->disableEditingCheck();
//        去掉'继续创建'复选框
    $form->disableCreatingCheck();
				
Dcat Plus 为DcatAdmin后台添加增强配置功能。修改过程利用DcatAdmin自带的admin_setting()方法实现,不会硬编码修改任何配置文件或.env文件。 最新支持Dcat Admin 2.0.18beta composer require celaraze/dcat-extension-plus 或者在后台扩展中,直接上传本插件的.zip文件即可。 在菜单扩展中启用扩展后,会自动添加名为增强配置的菜单。 站点LOGO 站点微缩LOGO 站点静态资源URL 移除底部授权 头部边距优化 主题色切换 菜单样式切换(默认,分离,水平) 表单行操作按钮固定最右 表单提交内容自动预备,有效防止XSS等攻击手段。 快速创建选项:表单可用selectCreate()分割类型,是select细分的增强,支持在右侧添加快速创建选
Dcat Admin是一个基于Laravel-admin二次开发而成的后台构建工具,只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成CURD代码,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码。 Dcat Admin后台构建工具特点: RBAC 权限管理,支持无限极权限节点 使用 pjax 构建无刷新页面,支持按需加载静态资源,可以无限扩展组件而不影响整体性能 松耦合的页面构建与数据操作设计,可轻松切换数据源 多主题切换,内置多种主题色 可轻松构建无菜单栏的独立页面(如可用于构建弹窗选择器等功能) 可视化代码生成器,可根据数据表一键生成增删改查页面 数据表格构建工具,内置丰富的表格常用功能(如组合表头、数据导出、搜索、快捷创建、批量操作等) 树状表格功能构建工具,支持分页和局部加载 数据表单构建工具,内置丰富的表单类型,支持表单异步提交 分步表单构建工具 弹窗表单构建工具 数据详情页构建工具 无限层级树页面构建工具,支持用拖拽的方式实现数据的层级、排序等操作 内置丰富的常用页面组件(如图表、数据统计卡片、下拉菜单、Tab 卡片、提示工具等) Section 功能(类似 Wordpress 的 Filter 和 blade 模板的 section 标签) 异步文件上传表单,支持分块多线程上传 多应用/多后台(暂未实现) 插件市场,只需在管理页面轻轻点击鼠标即可完成插件的安装、更新和卸载等操作(暂未实现) Dcat Admin后台构建工具环境: PHP >= 7.1.0 Laravel 5.5.0 ~ 7.* Fileinfo PHP Extension
Laravel Dcat Admin 自动根据输入内容同步回填字段信息 我们以输入姓名自动同步填入助记码为例 先来看效果 输入姓名张三同步在助记码中填入内容ZS 实现其实这也为回填提供了一种思路 比如我想实现的内容是根据出生日期回填工龄亦或是根据身份证号回填出生日期
在使用dact下拉选择框时,如果选择框的数据很多几百条,这样在使用普通的选择框时就会很不友好,在dact-admin里面有一种表格选择器的东西,可以很好的解决这个问题。 2.效果图 use App\Models\Good; use Dcat\Admin\Traits\LazyWidget; use Dcat\Admin\Widgets\Form; class EditGoodsMatchForm extends Form use LazyWidget; public function form() $this->select('goods_. return Form::make(new CommodityGood(), function (Form $form) { $form->display('goods_id'); // $form->text('category_id'); $form->select('category_id')->options(function(){ $category = CommodityCategory:
Dcat Admin框架不支持表格规格筛选器的默认选中,所以这边实现的思路使用过JS实现默认选中,通过获取url中的参数,如果筛选字段不存在则通过js获取相应节点,进行默认选中。 <?php namespace App\Admin\Controllers; use App\Admin\Repositories\Selector; use App\Common\Enums\CategoryEnum; use Dcat\Admin\Admin; use Dcat\Admin\Grid; clas.
首先得感谢一下大佬 @z-song,这个项目是基于 laravel-admin 二次开发的,laravel-admin 也是我搬砖至今用过的对后端程序员最友好的后台构建工具,没有之一,包括 Laravel nova 也没有这个用的爽快。初次接触laravel-admin 我就被大佬的设计惊艳到了,就有一种原来后台原来还能这样写的感觉。大家可以把这个项目视为 laravel-admin 的船新版本哈哈哈。 这个项目从 commit 的第一个版本开始,到现在已经接近一 随着 dcat-admin 越来越多的人使用,相信有许多跟我一样热爱这个项目的的人最后也会参与到这个项目中来,从使用者到项目的维护者,可以为项目贡献一份自己的力量。我以后也会将维护这个项目的一些心得,底层代码的实现都以博文的形式分享给大家。 有个同学提了一个这样的需求 ; 需要在表单 / 详情支持多栏布局,而这个需求刚好我自己用 dcat-admin 做项目时候也遇到过。尤其是 form 表单字段比较多的时候,我开始的解决方案是通过 form 的 tab 来减少表单一页的字段数量。