使用自定义布局
<?php
$form->row(function (Row $row, Form $form) {})
添加表单字段到自定义布局里
rowItem
<?php
$form->rowItem("UserName")
代码示例
<?php
namespace App\Admin\Controllers;
use SmallRuralDog\Admin\Components\Form\Checkbox;
use SmallRuralDog\Admin\Components\Form\CheckboxGroup;
use SmallRuralDog\Admin\Components\Form\Input;
use SmallRuralDog\Admin\Components\Form\Radio;
use SmallRuralDog\Admin\Components\Form\RadioGroup;
use SmallRuralDog\Admin\Components\Form\WangEditor;
use SmallRuralDog\Admin\Components\Widgets\Alert;
use SmallRuralDog\Admin\Components\Widgets\Button;
use SmallRuralDog\Admin\Components\Widgets\Card;
use SmallRuralDog\Admin\Components\Widgets\Dialog;
use SmallRuralDog\Admin\Components\Widgets\Divider;
use SmallRuralDog\Admin\Components\Widgets\Markdown;
use SmallRuralDog\Admin\Controllers\AdminController;
use SmallRuralDog\Admin\Form;
use SmallRuralDog\Admin\Layout\Column;
use SmallRuralDog\Admin\Layout\Content;
use SmallRuralDog\Admin\Layout\Row;
class RowFormController extends AdminController
{
public function grid()
{
}
public function store()
{
return \Admin::responseMessage("表单提交成功");
}
protected function form()
{
$form = new Form();
$form->row(function (Row $row, Form $form) {
$row->item(Alert::make("Laravel-Vue-Admin", "自定义布局表单,能实现你想要的各种布局排版!!")->type("success")->style("margin-bottom: 30px;"));
$row->item(Card::make()->header("Card里面加表单字段")->content(function (Content $content) use ($form) {
$content->row(function (Row $row) use ($form) {
$row->column(8, $form->rowItem("UserName"));
$row->column(8, $form->rowItem("UserName"));
$row->column(8, $form->rowItem("UserName")->hideLabel()->component(Input::make()->placeholder("UserName")));
$row->gutter(10);
});
}));
});
$form->row(function (Row $row) use ($form) {
$row->column(8, function (Column $column) use ($form) {
$column->row(Divider::make("基本信息"));
$column->row(function (Row $row) use ($form) {
$row->item($form->rowItem("UserName"));
$faker = \Faker\Factory::create();
$row->item($form->rowItem('Checkbox')->component(Checkbox::make(99999, $faker->name))->defaultValue(0));
$row->item($form->rowItem('CheckboxGroup')->component(CheckboxGroup::make([10], [
Checkbox::make(10, $faker->name),
Checkbox::make(20, $faker->name),
]))->required("array"));
$row->item($form->rowItem('RadioGroup')->component(RadioGroup::make(11, [
Radio::make(10, $faker->name),
Radio::make(11, $faker->name),
]))->required("number"));
});
});
$row->column(16, function (Column $column) use ($form) {
$column->row(Divider::make("详细信息"));
$column->row(function (Row $row) use ($form) {
$row->item($form->rowItem("UserName", "富文本内容")->labelWidth("auto")->component(WangEditor::make()->style("height:400px;")));
});
});
$row->gutter(20);
});
$form->top(function (Content $content) {
$content->row($this->code())->className('mb-10');
});
$form->actions(function (Form\FormActions $formActions) {
$formActions->hideCancelButton();
$formActions->submitButton()->content("提交表单")->style("width:200px");
});
//设置空注入,代替默认返回事件
$form->successRefData("", "");
return $form;
}
protected function code($name = "查看源代码", $ref = "codeButton")
{
return Button::make($name)->ref($ref)->dialog(function (Dialog $dialog) use ($name) {
$dialog->width('80%')->title($name);
$dialog->slot(function (Content $content) {
$code = "```php\n";
$code .= file_get_contents(admin_path("Controllers/RowFormController.php"));
$code .= "\n```";
$content->body(Markdown::make($code)->style("height:60vh;"));
});
});
}
}