Filament 详情页隐藏 RelationManager 表单提交按钮

AI摘要
【知识分享】用户询问Filament框架中RelationManager在详情页隐藏编辑和删除操作的原因及解决方法。分析指出,当页面为ViewRecord子类且isReadOnly()返回true时,actions会因authorize()返回false而被隐藏。解决方案是在表格配置中通过header方法传递isReadOnly参数,以控制操作按钮的显示状态。

AI 提问

app/Filament/Resources/Health/ChannelSpeakerConfigResource/RelationManagers/ThemeConfigRelationManager.php

给我分析一下,RelationManager 在详情 view 访问时

Tables\Actions\EditAction::make(), Tables\Actions\DeleteAction::make()

修改,删除 被隐藏了。是用了什么方法。

回答结果

隐藏原因

当满足以下条件时,actions 会被隐藏:

  1. 当前页面是 ViewRecord 的子类(详情页)

  2. isReadOnly() 返回 true,导致 authorize() 返回 false,actions 被隐藏

解决问题

return $table
            ->header(view('filament.relation-managers.ai-config-header', [
                'initialAiVoice' => $this->aiVoice,
                'initialWakeWord' => $this->wakeWord,
                'initialIdentityName' => $this->identityName,
                'initialWelcomePhrase' => $this->welcomePhrase,
                'aiVoiceProperty' => 'aiVoice',
                'wakeWordProperty' => 'wakeWord',
                'identityNameProperty' => 'identityName',
                'welcomePhraseProperty' => 'welcomePhrase',
                'saveMethod' => 'saveAiConfig',
                'isReadOnly' => $this->isReadOnly(), // 是否只读
            ]))
本作品采用《CC 协议》,转载必须注明作者和本文链接
Dcat-Admin (plus版)是汇聚Filament,Laravel-admin , Dcat-admin 优点于一身的基于Laravel + Bootstrap 的极速开发框架
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
Dcat-plus Admin @ 速码邦
文章
46
粉丝
64
喜欢
237
收藏
195
排名:338
访问:2.8 万
私信
所有博文
社区赞助商