Dcat Admin v2.0.16-beta 表单控件的布局不整齐

环境

Laravel Framework: 8.22.1「全新安装」
Dcat Admin: v2.0.16-beta「全新安装」

问题

单列和双列表单内的控件布局不整齐,全部都是参照文档默认使用方法,没有改过 cssrender()。但是看 官方 demo 网站 v2.0.17-beta 的布局非常整齐。请问作者是否 v2.0.17-beta 解决了这个问题?

截图和源码

单列表单:

单列表单

    protected function form()
    {
        return Form::make(new More, function (Form $form) {
            $form->display('id');
            $form->select('parent_id', '父级')
                ->options(More::selectOptions())
                ->saving(function ($parantId) {
                    return (int) $parantId;
                });
            $form->text('name', '名称')
                ->required()
                ->creationRules('required|unique:mores')
                ->updateRules('required|unique:mores,name,{{id}}');
            $form->editor('description', '介绍');

            $form->disableViewButton();
        });
    }

双列表单

双列表单

    protected function form()
    {
        return Form::make(new NewsSearch(), function (Form $form) {
            $form->column(6, function (Form $form) {
                $form->text('keyword')->required()->help('多个关键词用英文逗号","隔开');
                $form->select('site_type')->options(site_types())->default(1);
                $form->select('site_area')->options(site_areas())->default(1);
            });

            $form->column(6, function (Form $form) {
                $form->select('influence')->options(influences())->default(1);
                $form->date('start_date')->default(today()->toDateString());
                $form->date('end_date')->default(today()->toDateString());
            });
        });
    }

官方 demo 表单

官方 demo 表单

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

v2.0.16 升级了 select2 的版本,可能是这个影响。你可以更新2.0的开发分支代码试试,需要重新发布资源以及清理浏览器缓存

composer require dcat/laravel-admin:"2.0.x-dev"
3年前 评论
wanzi 3年前
Jiangqh (作者) 3年前

@Jiangqh 感谢您的热心回复,这个问题是我乌龙了!问题出在我重构了 Select.php 文件,并且覆盖了 getViewElementClasses() 方法,把 form-group 给去掉了。加回 form-group 以后一切恢复正常!希望我这个问题不要误导大家!

    public function getViewElementClasses()
    {
        if ($this->horizontal) {
            return [
                'label'      => "col-{$this->width['label']} {$this->getLabelClass()}",
                'field'      => "col-{$this->width['field']} {$this->getFieldClass()}",
                // 'form-group' => "form-group row {$this->getFormGroupClass()}",
                'form-group' => "row {$this->getFormGroupClass()}",
            ];
        }

        return [
            'label'      => $this->getLabelClass(),
            'field'      => $this->getFieldClass(),
            'form-group' => $this->getFormGroupClass(),
        ];
    }

感谢您给大家带来这么好的后台框架,也感谢 laravel-admin 作者的付出!

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!