【问题标题】:Render a field based on boolean without package基于布尔值无包渲染字段
【发布时间】:2021-12-14 05:05:55
【问题描述】:

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

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(),
            

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 你不能把它放在if 声明中吗?

标签: laravel laravel-nova


【解决方案1】:

糟糕的解决方案

您可以使用的一种解决方案是使用布尔值将资源更新为真或假。根据布尔值重新加载页面后,将显示文本字段。 然而,这会使 Nova 的活力失效,我强烈建议不要这样做

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

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

可能是最好的选择

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

【讨论】:

  • 我试图弄清楚是否有任何可能的方法可以在不安装软件包的情况下实现这一点,但似乎安装软件包是这种行为的最佳解决方案。
猜你喜欢
  • 2021-08-03
  • 1970-01-01
  • 2020-12-10
  • 2018-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 2013-06-06
相关资源
最近更新 更多