laravel-admin 1.x 版本 呼叫前端元件中多圖上傳採坑記錄

it_cwc發表於2020-11-02

背景:在使用模型樹頁面佈局時呼叫 laravel-admin前端元件中多圖上傳,刪除bug

寫在前面:有則改之,無則加勉
laravel-admin 1.x 版本 呼叫前端元件中多圖上傳採坑記錄

程式碼展示

laravel-admin 1.x 版本 呼叫前端元件中多圖上傳採坑記錄

佈局
    public function index(Content $content)
    {
        $content->header('欄目管理');// 標題 詳見Content方法解析
        $content->breadcrumb(['text' => 'Column'],); // 麵包屑導航
        $form = $this->form();
        $form->setAction('/admin/columns');// form表單資料提交地址
        $content->row(function(Row $row) use ($form){
            $row->column(6, $this->tree()); // 模型樹呼叫
            $row->column(6, $form);// $form引入
        });
        return $content;
    }
前端元件
protected function form()
{
    return Admin::form(Column::class, function (Form $form) {
        $form->select('parent_id', __('Parent id'))->options(Column::selectOptions());
        $form->text('column_title', __('Column title'))
            ->rules('required|unique:columns, "column_title", {{id}}', [
                'required' => '分類名稱不能為空',
                'unique' => '分類名稱不能重複'
        ]);
        $form->multipleImage('cover', __('Cover'))->removable()->help('可使用“Ctrl”進行多圖上傳');
        $form->text('link', __('Link'));
        $form->textarea('abstract', __('Abstract'));
        $form->UEditor('content', __('Content'));
        $form->tools(function (Form\Tools $tools) {
        $tools->disableList();
        $tools->disableView();
        });
        $form->footer(function ($footer) {
            $footer->disableViewCheck();
            $footer->disableEditingCheck();
            $footer->disableCreatingCheck();
            });
        $form->saved(function (){
            return redirect('/admin/columns'); // 完成後跳轉頁
        });
    });
}

排錯過程

1.首

  1. 首先是百度了錯誤資訊 ×SyntaxError: Unexpected token < in JSON at position 0
  2. 結果是 JSON.parse 解析不了(很迷惑,因為本人前端比較菜。這是josn資料轉換不了?)
於是看了一下刪除時模型中資料的傳遞格式
  1. var_dump() 結果是陣列,what?
  2. 刪除資料傳遞的是[],啊?這!(更疑惑了)
然後瞅了瞅底層程式碼

laravel-admin 1.x 版本 呼叫前端元件中多圖上傳採坑記錄

到現在為止,依然不知道問題是怎麼產生的,於是我換了種思路…

2.轉

在其他非佈局模組中嘗試多圖上傳,刪除可用。

問題找到了

3.尾

  1. 其他模組可以使用也就是說是前端元件的問題
  2. 我突然注意到,這是佈局後的頁面,前端元件中刪除完成後會調起跳轉,錯便錯在這個地方。
  3. 於是我將此 註釋掉 問題解決
         $form->saved(function (){
             return redirect('/admin/columns'); // 完成後跳轉頁
         });
本作品採用《CC 協議》,轉載必須註明作者和本文連結
it_cwc

相關文章