$form->tab (..) 里面怎么使用编辑状态 $isEditing

model-form-tab
如果表单元素太多,会导致form页面太长, 这种情况下可以使用tab来分隔form:

$form->tab('Basic info', function ($form) {

    $form->text('username');
    $form->email('email');

})->tab('Profile', function ($form) {

   $form->image('avatar');
   $form->text('address');
   $form->mobile('phone');

})->tab('Jobs', function ($form) {

     $form->hasMany('jobs', function () {
         $form->text('company');
         $form->date('start_date');
         $form->date('end_date');
     });

  })

本课程中使用了 $isEditing 判断是否是编辑状态

那么我在使用 model-form-tab 组件的时候,怎么来使用 $isEditing 呢,以下代码实现不了

protected function form($isEditing = false)
    {
        $form = new Form(new Article);

        $form->tab('文章信息', function ($form, $isEditing = false) {

            $states = [
                'on'  => ['value' => 1, 'text' => '是', 'color' => 'success'],
                'off' => ['value' => 0, 'text' => '否', 'color' => 'danger'],
            ];
            $states2 = [
                'on'  => ['value' => 1, 'text' => '通过', 'color' => 'success'],
                'off' => ['value' => 0, 'text' => '待审核', 'color' => 'danger'],
            ];
            $states3 = [
                'on'  => ['value' => 1, 'text' => '开', 'color' => 'success'],
                'off' => ['value' => 0, 'text' => '关', 'color' => 'danger'],
            ];

            $form->text('title', '标题')->rules('required');
            $form->select('category_id', '栏目')->options('/admin/api/categories-act')->rules('required');
            $form->image('thumb', '封面图片');
            if ($isEditing) {
                $form->textarea('excerpt', '摘录')->rules('required');
            }
            $form->text('link_url', '跳转');
            $form->textarea('body', '内容')->rules('required|min:3');
            $form->datetime('on_time', '定时发布');
            $form->number('order_by', '排序')->default(50);
            $form->switch('allow_comment', '评论开关')->default(1)->states($states3);
            $form->switch('hidden', '隐藏')->default(0)->states($states);
            $form->switch('audit', '状态')->default(1)->states($states2);

        })->tab('SEO 优化', function ($form) {

            $form->text('slug', 'Slug 翻译标题');
            $form->text('seo_title', 'Seo 标题');
            $form->text('seo_keywords', 'Seo 关键词');
            $form->text('seo_description', 'Seo 描述');

        })->tab('文章数据', function ($form) {

            $form->display('admin_user.name','发布者');
            $form->number('view_count', '浏览数');
            $form->number('favorites_count', '收藏数');
            $form->number('zan_count', '点赞数');
            $form->number('reply_count', '回复数');
        });

        return $form;
    }
}

还有一个问题就是 $form->display('admin_user.name','发布者'); 显示不出管理员,列表页面我显示出来了

file

官方文档和网络资料都没有解决方案@leo

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
leo
最佳答案

function ($form) use ($isEditing) {}

建议先掌握好 PHP 基础语法再来学习进阶课程。

5年前 评论
讨论数量: 1
leo

function ($form) use ($isEditing) {}

建议先掌握好 PHP 基础语法再来学习进阶课程。

5年前 评论

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