tu6ge/laravel-form-item

此包已被废弃且不再维护。未建议替换包。

laravel 表单项

v0.1.2 2020-12-19 04:36 UTC

This package is auto-updated.

Last update: 2022-08-12 12:27:23 UTC


README

Tests Coverage Status Latest Stable Version

中文

这是一个 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

待办事项

  1. 我计划使用 Blade 的推送模式来插入 JS 和 CSS 文件
  2. Element UI i18n 影响 date-picker
  3. 在 Laravel 之外使用 Blade 模板引擎 -- 个人的精力有限,社区预期提供测试用例
  4. 如果已知问题,选择多个按钮,提交后返回页面,再次提交数据,问题
  5. 如果下拉菜单没有默认值,则默认不选择第一个值。
  6. 日期选择器不可用。
  7. 滑动条范围选择。