Dcat Admin v1.7.0 發布,對後端開發者友好的高顏值後臺系統構建工具

2020-12-07 開源中國

本次版本主要更新了全新菜單樣式、全組件異步渲染功能以及諸多其他功能的優化。

頁面組件

1.組件異步加載

這個版本對異步加載功能進行了優化,使其支持了靜態資源按需加載的特性。 目前內置的所有組件都支持使用異步渲染功能,並且支持在頁面的任意位置上使用,具體用法請參考文檔 異步加載。

效果

2.全新菜單樣式以及布局

本次版本增加了新的菜單樣式,在配置文件config/admin.php中加上配置參數admin.layout.sidebar_style,默認值為light

'layout' => [ // 支持 light、primary、dark 'sidebar_style' => 'light', ... ], ...

效果如下

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)

具體使用請參考文檔過濾器 - 表格選擇器

此功能可用於替代彈窗選擇器,彈窗選擇器即將在 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)

具體使用請參考文檔表格選擇器

此功能可用於替代彈窗選擇器,彈窗選擇器即將在 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']);});

7.優化currency、number等諸多表單寬度顯示

優化表單欄位的默認寬度顯示

 

8.優化currency表單保存時忽略逗號

優化currency表單保存時忽略逗號

 

9.移除表單提交自動過濾disable、readonly欄位功能

從這個版本開始,不再自動過濾disablereadonly表單

 

其他

1.數據詳情欄位增加html方法

通過html方法可以在詳情頁插入一段不顯示labelHTML代碼,此功能由@Lila貢獻

// 傳入字符串$show->html('<br/>');// 傳入視圖$show->html(view(...));// 傳入閉包$show->html(function () { // 獲取欄位信息 $id = $this->id; $username = $this->username; return view(..., ['id' => $id]);});

2.移除 montserrat 字體

 

BUG修復

  1. 修複數據詳情dotprepend方法不支持json以及關聯關係欄位問題#383
  2. 表單 dateRange 欄位設為 disable 時提交報錯問題#405
  3. 修復啟用了多應用之後無法生成路由緩存問題#409
  4. 修復圖表組件chartMarginTop方法變量賦值錯誤問題
  5. 修復表格過濾器select聯動無法默認選中第二個表單問題#422
  6. 修復list表單無法支持xxx.xxx格式問題#452
  7. 修復表單動態顯示!=判斷異常問題#457

 

簡介

Dcat Admin是一個基於laravel-admin二次開發而成的後臺系統構建工具,只需很少的代碼即可快速構建出一個功能完善的高顏值後臺系統。內置豐富的後臺常用組件,開箱即用,讓開發者告別冗雜的HTML代碼,對後端開發者非常友好。

在線演示站點 |  官方文檔 | Gitee主頁  |  Github主頁

 

相關焦點