laravel-admin form表單使用部分自定義頁面

laravel-admin做後臺表單還是比較迅速的,一般的增刪改查通過命令和修改代碼很容易實現。但是對於定製化的頁面來說,需要做一些調整。
產品的原型圖是這樣的
在這裏插入圖片描述
最後初步的效果是這樣的
在這裏插入圖片描述
這個界面是用了一個單獨的view,是一個獨立的html,相對定製化。最開始的時候打算用form->row來排版,但是排出來簡直不能看。
後來發現form有個form->html(view(‘admin::space.setting’, compact(‘setting’)))。相當於form裏嵌套了一個view,這樣就可以解決問題。
現在來詳細說下,具體怎麼實現的,又有什麼地方需要注意的。
1、通過一個html方法把view引入進來,這裏引入的只有靜態html,如果有需要js的話,需要另外自己寫js。比如用Admin::script($script);引入

$form->html($this->settingTime($default_info['times_setting']??''),'');
protected function settingTime($setting = []){
        $this->settingScript();
        $setting = [];
        return view('admin::space.setting', compact('setting'));
    }
protected function settingScript()
    {
        $script = <<<'EOT'
$('.').iCheck({checkboxClass:'icheckbox_minimal-blue'});
EOT;

        Admin::script($script);
    }

2、當你的view裏name與表裏name不一致的時候,可以默認一個hidden,form->hidden(‘times_setting’);然後在表單提交之前,將數據後放到$form裏,就能成功添加和修改

$form->hidden('times_setting');
$form->saving(function (Form $form) use ($handle_region) {
   $data = Input::all();
    $form->times_setting = json_encode($data['setting_time']);
    return $form;
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章