Dcat Admin 在工具表单中使用表格表单 (table)无效,点击新增没有反应,也不报错。

这是工具表单代码

<?php

namespace App\Admin\Forms;
use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Contracts\LazyRenderable;
use Dcat\Admin\Form\NestedForm;
use Dcat\Admin\Widgets\Form;
class DemoForm extends Form implements LazyRenderable
{
    use LazyWidget;
    /**
     * Handle the form request.
     *
     * @param array $input
     *
     * @return mixed
     */
    public function handle(array $input)
    {
         dd($input);

        // return $this->response()->error('Your error message.');

        return $this
                ->response()
                ->success('Processed successfully.')
                ->refresh();
    }

    /**
     * Build a form here.
     */
    public function form()
    {
        $this->table('table', function (NestedForm $table) {
            $table->text('key');
            $table->text('value');
            $table->text('desc');
        });
    }

    /**
     * The data of the form.
     *
     * @return array
     */
    public function default()
    {
        return [
            'name'  => 'John Doe',
            'email' => 'John.Doe@gmail.com',
        ];
    }
}

这是具体使用的代码

<?php

namespace App\Admin\Controllers;

use App\Admin\Forms\DemoForm;
use App\Admin\Grid\Tools\DemoButton;
use App\Admin\Repositories\Liu;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Layout\Row;
use Dcat\Admin\Show;
use Dcat\Admin\Widgets\Modal;
use Dcat\Admin\Widgets\Tab;
use Dcat\Admin\Http\Controllers\AdminController;


class LiuController extends AdminController
{
    public function index(Content $content) {
        return $content
            ->body(function (Row $row){
                $tab=new Tab();
                $tab->add(3,$this->grid());
                $tab->add(1,123);
                $tab->add(2,123);
                $row->column(12,$tab->withCard());
            });
    }
    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    public function grid()
    {
        return Grid::make(new Liu(), function (Grid $grid) {
            //使用工具表单
            $form=Modal::make()
                ->lg()
                ->title('321')
                ->body(DemoForm::make())
                ->button('<button class="btn btn-primary">点击打开表单</button>');
            $grid->tools($form);
            $grid->tools(DemoButton::make());
            $grid->column('id')->sortable();
            $grid->column('type');
            $grid->column('title');
            $grid->column('content');
            $grid->column('created_at');
            $grid->column('updated_at')->sortable();

            $grid->filter(function (Grid\Filter $filter) {
                $filter->equal('id');

            });
        });
    }

    public function show($id,Content $content) {
        return $content
            ->body($this->detail($id));
    }

    /**
     * Make a show builder.
     *
     * @param mixed $id
     *
     * @return Show
     */
    protected function detail($id)
    {
        return Show::make($id, new Liu(), function (Show $show) {
            $show->field('id');
            $show->field('type');
            $show->field('title');
            $show->field('content');
            $show->field('created_at');
            $show->field('updated_at');
        });
    }

    /**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form()
    {
        return Form::make(new Liu(), function (Form $form) {
            $form->display('id');
            $form->text('type');
            $form->text('title');
            $form->text('content');

            $form->display('created_at');
            $form->display('updated_at');
        });
    }
}

Dcat Admin 在工具表单中使用表格表单 (table)无法正常加载
点击新增无效

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 6

我也碰到这个问题了,请问你是怎么解决的?

1年前 评论
LXK (楼主) 1年前
3431314xing

我这边复制你的代码,测试了一下,额,发现没啥问题,我使用的dcat-admin版本为2.1.5-beta

file

不太清楚你是那个版本

1年前 评论
aaccbb 1年前
3431314xing (作者) 1年前

你把default去掉试试,可能是对应的表单参数不存在导致js出错了

1年前 评论

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