v1.7.0 更新日志
发布时间 2020/08/23
{tip} 本次版本没有包含不兼容改动,适合所有用户升级。
升级方法
composer update dcat/laravel-admin
本次版本需要重新发布静态资源以及语言包,然后按Ctrl+F5清除浏览器缓存!
php artisan admin:publish --assets --forcephp artisan admin:publish --lang --force
页面组件
1.组件异步加载
这个版本对异步加载功能进行了优化,使其支持了静态资源按需加载的特性。 目前内置的所有组件都支持使用异步渲染功能,并且支持在页面的任意位置上使用,具体用法请参考文档 异步加载。
效果
2.全新菜单样式以及布局
本次版本增加了新的菜单样式,在配置文件config/admin.php中加上配置参数admin.layout.sidebar_style,默认值为light
'layout' => [// 支持 light、primary、dark'sidebar_style' => 'light',...],...
primary效果如下
3.权限配置功能优化
配置权限路径时支持填写路由别名,如 admin.users.show
表格
1.行内编辑增加保存成功后刷新页面参数
// 第二个参数设置为 true,保存成功后刷新页面$grid->column($field)->switch(null, true);$grid->column($field)->select([...], true);$grid->column($field)->checkbox([...], true);$grid->column($field)->radio([...], true);// 第三个参数设置为 true,保存成功后刷新页面$grid->column($field)->switchGroup([...], null, true);
2.表格搜索相关功能支持关联关系字段查询
所有涉及搜索的功能,包括:过滤器(Filter)、快捷搜索、规格筛选器、列过滤器等,全部支持关联关系字段查询。
并且如果项目中安装了dcat/laravel-wherehasin,则会优先使用whereHasIn方法进行搜索。
// 快捷搜索$grid->quickSerach(['user.name']);// 过滤器$grid->filter(function ($filter) {$filter->like('user.name');});// 列过滤器$grid->column($field)->filter(Grid\Column\Filter\Equal::make()->setColumnName('user.name'););// 规格筛选器$grid->selector(function ($selector) {$selector->select('user.id', [...]);});
3.过滤器表单增加表格选择器 (selectTable)
具体使用请参考文档过滤器 - 表格选择器
{tip} 此功能可用于替代弹窗选择器,弹窗选择器即将在
2.0中废弃
use App\Admin\Renderable\UserTable;use Dcat\Admin\Models\Administrator;$filter->equal('user_id')->selectTable(UserTable::make(['id' => ...])) // 设置渲染类实例,并传递自定义参数->title('弹窗标题')->dialogWidth('50%') // 弹窗宽度,默认 800px->model(Administrator::class, 'id', 'name'); // 设置编辑数据显示
3.过滤器增加忽略筛选项功能 (ignore)
此功能由@llz贡献
$filter->equal('column')->ignore();
4.规格筛选器选中后跳转到第一页
优化规格筛选器功能,筛选以及取消筛选后跳转到第一页
表单
1.增加颜色选择器 (color)
$form->color('field');
2.增加表格选择器 (selectTable)
具体使用请参考文档表格选择器
{tip} 此功能可用于替代弹窗选择器,弹窗选择器即将在
2.0中废弃
use App\Admin\Renderable\UserTable;use Dcat\Admin\Models\Administrator;$form->selectTable($field)->title('弹窗标题')->dialogWidth('50%') // 弹窗宽度,默认 800px->from(UserTable::make(['id' => $form->getKey()])) // 设置渲染类实例,并传递自定义参数->model(Administrator::class, 'id', 'name'); // 设置编辑数据显示
效果
3.增加json表单 (array)
如果某一个字段存储的是json格式的二维数组,并且字段比较多,可以使用array表单组件来实现快速的编辑:
$form->array('column_name', function ($table) {$table->text('key');$table->text('value');$table->textarea('desc');})->saveAsJson();

4.增加Checkbox::canCheckAll 方法
启用选中全部功能
$form->checkbox($field)->options([...])->canCheckAll();;
5.增加百度地图组件并优化地图配置参数
在这个版本中配置文件增加了admin.map参数,用于配置地图表单key,用法如下
'map' => ['provider' => 'baidu','keys' => ['tencent' => env('TENCENT_MAP_API_KEY'),'google' => env('GOOGLE_API_KEY'),'baidu' => env('BAIDU_MAP_API_KEY'),],],
6.增加 saveAsString、saveAsJson 方法
saveAsString方法可以把表单值转化为string类型保存,当保存的数据库字段值不允许为null时非常有用;
saveAsJson可以把表单值保存为json格式。
$form->text('nickname')->saveAsString();$form->multipleSelect('user')->saveAsJson();
7.增加forgetIgnored方法
撤销忽略字段
$form->ignore(['user']);$form->submitted(function (Form $form) {$form->forgetIgnored(['user']);});
8.优化currency、number等诸多表单宽度显示
优化表单字段的默认宽度显示
9.优化currency表单保存时忽略逗号
优化currency表单保存时忽略逗号
10.移除表单提交自动过滤disable、readonly字段功能
从这个版本开始,不再自动过滤disable和readonly表单
其他
1.数据详情字段增加html方法
通过html方法可以在详情页插入一段不显示label的HTML代码,此功能由@Lila贡献
// 传入字符串$show->html('<br/>');// 传入视图$show->html(view(...));// 传入闭包$show->html(function () {// 获取字段信息$id = $this->id;$username = $this->username;return view(..., ['id' => $id]);});
