$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','发布者'); 显示不出管理员,列表页面我显示出来了
官方文档和网络资料都没有解决方案@leo
推荐文章: