在没有包的情况下基于布尔值渲染一个字段
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包。
我试图在布尔值切换为真时使文本字段可见,而无需安装依赖项。有谁知道如何实现这个?有没有办法观察对特定字段的更改请求并根据该请求有条件地呈现?
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包。