在没有包的情况下基于布尔值渲染一个字段

Render a field based on boolean without package

我试图在布尔值切换为真时使文本字段可见,而无需安装依赖项。有谁知道如何实现这个?有没有办法观察对特定字段的更改请求并根据该请求有条件地呈现?

Boolean::make('Blocked', 'isBlocked')
            ->hideFromIndex(),

Textarea::make('Reason', 'blockedReason')
            ->withMeta([
                'extraAttributes' => [
                    'placeholder' => 'Make it less than 255 characters',
                ]
            ])
            ->rules('required', 'max:255')
            ->rows(3)
            ->hideFromIndex(),
            

不好的解决方案

您可以使用的一种解决方案是将布尔值更新为 true 或 false。根据布尔值重新加载页面后,将显示文本字段。 但是,这会使 Nova 的活力失效,我强烈反对

可能是一个糟糕的解决方案

另一个解决方案是在布尔值的变化中创建一个事件发射器。触发事件后,更改文本字段的只读值。

可能是最好的选择

您没有说明不能使用某个包的原因,但是如果您需要使用nova-dependecy-container包。