laravel-admin 1.x 版本 调用前端组件中多图上传采坑记录
背景:在使用模型树页面布局时调用 laravel-admin
前端组件中多图上传,删除bug
写在前面:有则改之,无则加勉
代码展示
布局
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.首
- 首先是百度了错误信息
×SyntaxError: Unexpected token < in JSON at position 0
- 结果是
JSON.parse
解析不了(很迷惑,因为本人前端比较菜。这是josn数据转换不了?)
于是看了一下删除时模型中数据的传递格式
var_dump()
结果是数组,what?- 删除数据传递的是
[]
,啊?这!(更疑惑了)
然后瞅了瞅底层代码
到现在为止,依然不知道问题是怎么产生的,于是我换了种思路…
2.转
在其他非布局模块中尝试多图上传,删除可用。
问题找到了
3.尾
- 其他模块可以使用也就是说是前端组件的问题
- 我突然注意到,这是布局后的页面,前端组件中删除完成后会调起跳转,错便错在这个地方。
- 于是我将此 注释掉 问题解决
$form->saved(function (){ return redirect('/admin/columns'); // 完成后跳转页 });
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: