tu6ge / laravel-form-item
此包已被废弃且不再维护。未建议替换包。
laravel 表单项
v0.1.2
2020-12-19 04:36 UTC
Requires
- php: ^7.3 || ^7.4 || ^8
- ext-mbstring: *
- pascaldevink/shortuuid: ^3
Requires (Dev)
- ext-curl: *
- ext-zip: *
- laravel/framework: ^8
- orchestra/testbench: ^6.4
- orchestra/testbench-browser-kit: ^6.2
- orchestra/testbench-dusk: ^6.3
- phpunit/phpunit: ^9.4
This package is auto-updated.
Last update: 2022-08-12 12:27:23 UTC
README
这是一个 Laravel 7+ Blade 组件。当您需要在视图中嵌入表单项时,我可以帮助您。我拥有许多常用的表单项,例如:输入、文本框、数字输入、单选按钮、下拉菜单、复选框、日期选择器、时间选择器、滑动条、开关和级联选择器。
您可以在需要时在 Blade 视图文件中包含任何表单项。如果您提交表单,该表单项的值可以与其他表单数据一起提交到 action
路径。
您还可以在编辑表单页面上将旧值导入到某个表单项中。如果您没有修改它,并且提交表单,此值可以保持不变。
示例
让我们以单选按钮为例来介绍以下内容。首先,我们需要在 PHP 文件中构建选项数据。
Route::get('demo', function() { return view('demo-view', [ 'radio1_option' => [ [ 'value' => 11, 'text' => 'Watermelon' ], [ 'value' => 22, 'text' => 'Apple' ], [ 'value' => 23, 'text' => 'Banana', ] ], ]); });
在 Blade 文件中,有两种情况,添加数据或编辑数据。我们将分别介绍它们。
添加
<form> <!-- before --> @foreach($radio1_option as $item) <input type="radio" name="radio1" value="{{$item['value']}}" /> {{$item['text']}} @endforeach <!-- use laravel-form-item ---> <x-input-radio name="radio1" :options="$radio1_option" ></x-input-radio> </form>
编辑
<form> <!-- before --> @foreach($radio1_option as $item) <input type="radio" name="radio1" value="{{$item['value']}}" {{$item['value']==$form['radio1'] ? 'checked' : ''}}/> {{$item['text']}} @endforeach <!-- use laravel-form-item ---> <x-input-radio name="radio1" :options="$radio1_option" :value="$form['radio1']"></x-input-radio> </form>
文档
请参阅 文档
测试
- 运行所有测试用例
composer test
- 仅运行单元测试
composer test-unit
- 仅运行浏览器测试(dusk)
composer test-browser
待办事项
- 我计划使用 Blade 的推送模式来插入 JS 和 CSS 文件
- Element UI i18n 影响
date-picker
。 - 在 Laravel 之外使用 Blade 模板引擎 -- 个人的精力有限,社区预期提供测试用例
- 如果已知问题,选择多个按钮,提交后返回页面,再次提交数据,问题
- 如果下拉菜单没有默认值,则默认不选择第一个值。
- 日期选择器不可用。
- 滑动条范围选择。