如何在RelationManager中隐藏‘Create & create another’按钮?
解决Filament关联管理器中隐藏“Create & create another”按钮的方法
完全可以实现,给你两种简单的方案:
方案一:直接设置属性(推荐)
Filament的RelationManager类其实也支持$canCreateAnother属性,和你在CreateProduct页面里的用法一样,直接在ProductsRelationManager类里添加这行代码就行:
class ProductsRelationManager extends RelationManager { protected static bool $canCreateAnother = false; // 你的其他已有代码... }
加完之后,关联管理器里的“Create & create another”按钮就会直接隐藏,只保留“Create”按钮,这个方法在Filament v3版本中是生效的。
方案二:重写创建表单动作方法
如果第一种方案不生效(比如用了旧版本),可以重写getCreateFormActions()方法,手动只返回“Create”按钮的动作:
use Filament\Resources\RelationManagers\RelationManager; use Filament\Forms\Components\Actions\Action; class ProductsRelationManager extends RelationManager { // 你的其他已有代码... protected function getCreateFormActions(): array { return [ Action::make('create') ->label(__('filament-panels::resources/pages/create-record.form.actions.create.label')) ->submit('create'), ]; } }
这个方法是直接覆盖关联管理器默认的表单动作列表,只保留创建单个记录的按钮。
内容的提问来源于stack exchange,提问作者Alberto
相关产品推荐
相关产品推荐

