首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Laravel Nova将操作显示为特定行上的下拉列表

在 Laravel Nova 中,您可以使用自定义操作将操作显示为特定行上的下拉列表。以下是如何实现此功能的步骤:

  1. 首先,在您的 Laravel Nova 应用程序中创建一个新的自定义操作。您可以使用 Artisan 命令 php artisan nova:action 来创建一个新的操作。例如:
代码语言:javascript
复制
php artisan nova:action MyCustomAction

这将在 app/Nova/Actions 目录下创建一个名为 MyCustomAction.php 的文件。

  1. 打开 MyCustomAction.php 文件,您将看到一个名为 handle 的方法。在此方法中,您可以编写您的操作逻辑。但是,为了将操作显示为下拉列表,我们需要重写 displayOnRow 方法。例如:
代码语言:javascript
复制
public function displayOnRow($model)
{
    return true;
}

这将确保操作显示在每行上。

  1. 接下来,我们需要创建一个新的自定义操作视图。在 resources/views/nova/actions 目录下创建一个名为 my_custom_action.blade.php 的文件。如果目录不存在,请创建它。
  2. my_custom_action.blation.php 文件中,编写以下代码以创建一个下拉列表:
代码语言:javascript
复制
@php
    $options = [
        'option1' => 'Option 1',
        'option2' => 'Option 2',
        'option3' => 'Option 3',
    ];
@endphp

<select name="action" id="action">
    <option value="">Select an action</option>
    @foreach($options as $key => $value)
        <option value="{{ $key }}">{{ $value }}</option>
    @endforeach
</select>

您可以根据需要自定义 $options 数组中的选项。

  1. 最后,我们需要在 MyCustomAction.php 文件中重写 render 方法,以便使用我们刚刚创建的自定义视图。例如:
代码语言:javascript
复制
use Laravel\Nova\Fields\Field;

public function render()
{
    return Field::make('Action', 'action')
        ->onlyOnForms()
        ->resolveUsing(function ($value, $resource, $attribute) {
            return view('nova.actions.my_custom_action');
        });
}

现在,当您在 Laravel Nova 资源中查看数据表时,您应该会看到特定行上的下拉列表操作。

相关搜索:如何在不从Nova资源列表/索引选择任何记录的情况下显示Laravel Nova操作?Pandas:将特定行的字典列表分解为多行如何从选择下拉列表中填充数据,以便特定id的数据将显示在主页上使用Python将字典解析为特定的列表格式Inno Setup:如何使用单选按钮而不是下拉菜单将组件显示为列表?如何使用VBA将数据列表排序到特定的行/列?如何在使用laravel 7更新数据的特定模式上显示错误验证?在使用Qt时,我是否必须在特定的操作系统上为特定的操作系统进行编译?使用Python将CSV行中的特定文本解析为新列如何使用下拉菜单将值赋给使用PHP的特定行(以相同形式插入的行之外)使用CSS Grid将无序列表分隔为不同的列/行使用pandas将xlsx文件中的特定行添加到列表中如何使用vueJs使选择列表的特定选项显示在第一行?是否将所选选项显示为选择下拉列表中的第一个选项?当屏幕上显示基于当前日期和时间的批次列表或行时,我需要突出显示特定行读取文件行,执行web操作,并使用终端将输出存储为单独的文件将结果(子项目)显示为子列表,并且我希望根据从下拉列表中选择的项目过滤结果较小屏幕上的表格将显示为列表,其中有几个折叠的列并显示在折叠面板上如何在控制器上使用laravel passport显示当前用户的数据库列表AJAX文件上传使用Codeigniter,jQuery将响应显示为“您请求的操作不被允许”
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券