Laravel Nova 4 中表单上的自定义操作按钮

问题描述 投票:0回答:2

我正在尝试在资源底部创建一个自定义按钮,该按钮将保存记录,然后获取该记录中的所有信息并将其复制到另一个记录中。

Laravel Nova Buttons

这些重复/复制的信息将让用户快速开始输入另一条记录。目前,“创建”和“更新”页面上的唯一操作是“创建/更新”、“创建/更新”和“添加另一个”,但这两个按钮并不适合所有情况。最后一个选项只提供一个空白表格。我希望将之前输入的信息自动添加到表单中以节省时间。

我知道复制功能。但这需要保存记录并且用户返回到记录,然后选择复制选项。当我让用户一次输入数百个项目时,这个额外的步骤非常耗时。

有人可以帮我找出一种方法来向表单添加额外的按钮,以便我可以扩展创建和更新功能吗?

php laravel laravel-nova
2个回答
0
投票

您是否尝试过对资源使用复制操作?我相信这正是您所寻找的!您可以在 https://nova.laravel.com/docs/resources/

阅读有关复制的更多信息

Click the three dots on the resource to view the actions


0
投票

如果您需要一个快速解决方案来预填充新资源的表单字段,其值与上次创建的资源相同,您可以尝试以下操作:

public function fields(NovaRequest $request) {

    $latestResource = null;
    if ($request->isCreateOrAttachRequest()) {
        $latestResource = Account::latest('id')->first();
    }

    return [
        ID::make()->sortable(),

        Text::make(__('First Name'), 'first_name')
            ->withMeta([
                'value' => $latestResource ? $latestResource->first_name : $this->first_name
            ]),

        Text::make(__('Last Name'), 'last_name')
            ->withMeta([
                'value' => $latestResource ? $latestResource->last_name ??  $this->last_name
            ]),
     ];
}
© www.soinside.com 2019 - 2024. All rights reserved.