Dcat Admin框架不支持表格规格筛选器的默认选中,所以这边实现的思路使用过JS实现默认选中,通过获取url中的参数,如果筛选字段不存在则通过js获取相应节点,进行默认选中。
namespace
App
\
Admin
\
Controllers
;
use
App
\
Admin
\
Repositories
\
Selector
;
use
App
\
Common
\
Enums
\
CategoryEnum
;
use
Dcat
\
Admin
\
Admin
;
use
Dcat
\
Admin
\
Grid
;
class
SelectorController
extends
AdminController
* Make a grid builder.
* @return Grid
protected
function
grid
(
)
{
$params
=
request
(
)
->
get
(
'_selector'
)
;
$isType
=
$params
[
'type'
]
??
-
1
;
$isCate
=
$params
[
'cate'
]
??
-
1
;
Admin
::
script
(
var
isType
=
$isType
var
isCate
=
$isCate
setSelect
(
)
function
setSelect
(
)
{
if
(
isCate
==
-
1
)
{
$
(
'.grid-selector .wrap:nth-child(1) li:first a:first'
)
.
addClass
(
'active'
)
if
(
isType
==
-
1
)
{
$
(
'.grid-selector .wrap:nth-child(2) li:first a:first'
)
.
addClass
(
'active'
)
return
Grid
::
make
(
new
Selector
(
)
,
function
(
Grid
$grid
)
{
if
(
request
(
)
->
get
(
'_view_'
)
!==
'list'
)
{
$grid
->
view
(
'admin.rank.download'
)
;
$grid
->
paginate
(
50
)
;
$grid
->
column
(
'url'
,
'图片'
)
->
image
(
''
,
100
)
;
$grid
->
selector
(
function
(
Grid
\
Tools
\
Selector
$selector
)
{
$selector
->
selectOne
(
'cate'
,
'分类'
,
[
0
=>
'小米'
,
1
=>
'华为'
,
7
=>
'OPPO'
,
30
=>
'VIVO'
]
)
;
$selector
->
selectOne
(
'type'
,
'日期'
,
[
0
=>
'今天'
,
1
=>
'昨天'
,
7
=>
'近一周'
,
30
=>
'近一月'
]
)
;
}
)
;
$grid
->
disableFilterButton
(
)
;
$grid
->
disableActions
(
)
;
$grid
->
withBorder
(
)
;
$grid
->
disableRowSelector
(
)
;
$grid
->
disableCreateButton
(
)
;
$grid
->
disableRefreshButton
(
)
;
}
)
;
备注:如果有多个筛选项,则通过修改.wrap:nth-child(1) 中的值,依次设置默认选中的字段,如果筛选项过多可以将上面JS封装下,不用每个分类都写一遍。
Dcat Admin框架不支持表格规格筛选器的默认选中,所以这边实现的思路使用过JS实现默认选中,通过获取url中的参数,如果筛选字段不存在则通过js获取相应节点,进行默认选中。<?phpnamespace App\Admin\Controllers;use App\Admin\Repositories\Selector;use App\Common\Enums\CategoryEnum;use Dcat\Admin\Admin;use Dcat\Admin\Grid;clas.
D
cat
Admin
是一个基于
Laravel
-
admin
二次开发而成的后台构建工具,只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成CURD代码,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码。D
cat
Admin
后台构建工具特点用户管理
RBAC 权限管理,支持无限极权限节点
使用 pjax 构建无刷新页面,支持按需加载静态资源,可以无限扩展组件而不影响整体性能
松耦合的页面构建与数据操作设计,可轻松切换数据源
多主题切换,内置多种主题色
可轻松构建无菜单栏的独立页面(如可用于构建弹窗选择
器
等功能)
可视化代码生成
器
,可根据数据表一键生成增删改查页面
数据
表格
构建工具,内置丰富的
表格
常用功能(如组合表头、数据导出、搜索、快捷创建、批量操作等)
树状
表格
功能构建工具,支持分页和局部加载
数据表单构建工具,内置丰富的表单类型,支持表单异步提交
分步表单构建工具
弹窗表单构建工具
数据详情页构建工具
无限层级树页面构建工具,支持用拖拽的方式实现数据的层级、排序等操作
内置丰富的常用页面组件(如图表、数据统计卡片、下拉菜单、Tab 卡片、提示工具等)
Section 功能(类似 Wordpress 的 Filter 和 blade 模板的 section 标签)
异步文件上传表单,支持分块多线程上传
多应用/多后台(暂未实现)
插件市场,只需在管理页面轻轻点击鼠标即可完成插件的安装、更新和卸载等操作(暂未实现)D
cat
Admin
后台构建工具环境
PHP
>= 7.1.0
Laravel
5.5.0 ~ 7.*
Fileinfo
PHP
ExtensionD
cat
Admin
截图
return Form::make(new CommodityGood(), function (Form $form) {
$form->display('goods_id');
// $form->text('
cat
egory_id');
$form->select('
cat
egory_id')->options(function(){
$
cat
egory = Commodity
Cat
egory:
今天做项目遇到问题,就是联查的话,多级联动后,点击查询刷新页面后,多级联动的那个option框会显示没有数据,原因是因为
默认
只有点选了才触发变化,所以我们就要让他没点的时候也触发一下,解决办法是:
在vendor\encore\
laravel
-
admin
\src\Grid\Filter\Presenter的第293行下面加一句
$('.{$this->getClass($column)}').trigger('change');
$(document).on('change', ".{$th
在使用dact下拉选择框时,如果选择框的数据很多几百条,这样在使用普通的选择框时就会很不友好,在dact-
admin
里面有一种
表格
选择
器
的东西,可以很好的解决这个问题。
2.效果图
D
cat
Admin
是一个基于
Laravel
-
admin
二次开发而成的后台构建工具,只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成CURD代码,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码。
D
cat
Admin
后台构建工具特点:
RBAC 权限管理,支持无限极权限节点
使用 pjax 构建无刷新页面,支持按需加载静态资源,可以无限扩展组件而不影响整体性能
松耦合的页面构建与数据操作设计,可轻松切换数据源
多主题切换,内置多种主题色
可轻松构建无菜单栏的独立页面(如可用于构建弹窗选择
器
等功能)
可视化代码生成
器
,可根据数据表一键生成增删改查页面
数据
表格
构建工具,内置丰富的
表格
常用功能(如组合表头、数据导出、搜索、快捷创建、批量操作等)
树状
表格
功能构建工具,支持分页和局部加载
数据表单构建工具,内置丰富的表单类型,支持表单异步提交
分步表单构建工具
弹窗表单构建工具
数据详情页构建工具
无限层级树页面构建工具,支持用拖拽的方式实现数据的层级、排序等操作
内置丰富的常用页面组件(如图表、数据统计卡片、下拉菜单、Tab 卡片、提示工具等)
Section 功能(类似 Wordpress 的 Filter 和 blade 模板的 section 标签)
异步文件上传表单,支持分块多线程上传
多应用/多后台(暂未实现)
插件市场,只需在管理页面轻轻点击鼠标即可完成插件的安装、更新和卸载等操作(暂未实现)
D
cat
Admin
后台构建工具环境:
PHP
>= 7.1.0
Laravel
5.5.0 ~ 7.*
Fileinfo
PHP
Extension
CREATE TABLE IF NOT EXISTS `
cat
egory` (
`id` bigint(20) unsigned NOT NULL,
`parent_id` bigint(20) NOT NULL DEFAULT '0',
`order` int(11) NOT NULL DEFAULT '0',
`title` varchar(50) COLLATE utf8mb4_un
Redis提示MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on
Laravel关于请求参数空字符串转null问题