【问题标题】:Laravel Nova conditional fields on form表单上的 Laravel Nova 条件字段
【发布时间】:2019-04-29 12:35:26
【问题描述】:
我正在使用 Nova 为我的一个资源创建一个创建表单。一些字段彼此之间存在条件关系。
例如:如果选择了“试用期”,我们必须为“试用期结束日期”指定一个值,但如果未选择“试用期”,则在页面上显示“结束日期”字段是没有意义的。再比如,字段 A 和 B 是互斥的。
所有这些都可以通过后端的条件验证器轻松执行,我知道该怎么做。我只是想制作一个不会令人困惑的界面。
如何自定义此资源的前端 JS 表单以反映这种条件关系?
【问题讨论】:
标签:
laravel-5
vue.js
laravel-nova
【解决方案1】:
Its possible using this one
// put this inside **public function fields(Request $request)**
BelongsTo::make('Subcategoria', 'subcategory', 'App\Nova\SubCategory'),
// conditional display
$this->sellerFields(),
//used for conditional seller input
protected function sellerFields()
{
if(\Auth::user()->role == "admin"){
return $this->merge([
BelongsTo::make('Vendedor', 'user', 'App\Nova\User'),
]);
}else{
return $this->merge([]);
}
}