ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 全局直接显示搜索 ``` use Dcat\Admin\Grid\Filter; Filter::resolving(function (Filter $filter) { $filter->panel(); // 不以默认的侧边显示搜索 直接当前页显示 $filter->expand();// 是否显示搜索条件 默认不显示 点击筛选后才出现 设置后就直接显示 }); ``` ### 全局展开grid中的操作 ~~~ Grid::resolving(function (Grid $grid) { $grid->setActionClass(\Dcat\Admin\Grid\Displayers\Actions::class); // 列中操作直接显示 不要默认的三个点 $grid->showColumnSelector(); // 开启右边的字段显示选择 $grid->model()->orderBy("id", "desc"); $grid->disableViewButton(); // 禁用详情按钮 $grid->showQuickEditButton(); // 开启快速编辑 $grid->enableDialogCreate(); // 启用弹窗创建 $grid->disableBatchDelete(); // 禁用批量删除 $grid->actions(function (\Dcat\Admin\Grid\Displayers\Actions $actions) { $actions->disableView(); $actions->disableDelete(); $actions->disableEdit(); }); $grid->option("dialog_form_area", ["70%", "80%"]); }); ~~~ ### 导出的使用 ~~~ $titles = [ 'id' => 'ID', 'user_id' => '用户ID', 'nickname' => '用户昵称', 'mobile' => '用户电话', 'content' => '内容', 'images' => '图片', 'types' => '反馈类型', 'status' => '状态', 'created_at' => '创建时间', 'updated_at' => '更新时间', 'reply' => '回复内容', 'replyed_at' => '回复时间', 'liaison_type' => '联系方式', 'liaison' => '联系方式', 'logs' => '日志', 'closed_at' => '关闭日期', ]; $grid->export($titles)->rows(function ($rows) { foreach ($rows as $index => &$row) { // $row 对象 $row['user_id'] = $row->user->id; $row['nickname'] = $row->user->nickname; $row['mobile'] = $row->user->mobile; $row['status'] = self::STATUS_TEXT[$row['status']] ?? self::STATUS_TEXT[0]; $row['types'] = self::TYPES[$row['types']] ?? self::TYPES[0]; $row['content'] = $row['content'] ?: ''; } return $rows; }); ~~~ ### 返回方法 > `use Dcat\Admin\Traits\HasFormResponse;` 类中引用这个`trait` 其中就有返回方法 > return $this->response()->success(); ### 图片预览 `data-action="preview-img"` 示例 双击图片后即可预览 `<img data-action="preview-img" src='url'>` ### 表单中必填的使用 >如果你重新写了表单的添加或者更新之类的方法 那么rules()方法就不再生效,除非自己加上验证,如果前端需要显示必填的红星符号需要加上`required()`方法,专门针对前端显示红点的 ,实现原理就是给input框架了 required属性 ~~~ $form->text('user_id', '用户')->rules('required')->required(); ~~~ ### 表单修改中select的选中 > `options()`方法需要返回选中的值 ~~~ $form->select('category_id', '分类')->options(function ($id) { $category = Category::find($id); if ($category) { return [$category->id => $category->title]; } })->ajax(admin_url('api/category'))->required(); ~~~