我正在使用Nova为我的资源之一创建一个创建表单。一些字段之间存在条件关系。
例如:如果选择了“正在试用”,则必须为“试用结束日期”指定一个值,但是如果未选择“正在试用”,则页面上的“结束日期”字段将没有意义。另一个示例,字段A和B是互斥的。
所有这些都可以通过后端的条件验证器轻松实施,我知道该怎么做。我只是想制作一个不会造成混乱的界面。
如何为该资源自定义前端JS表单以反映这种条件关系?
答案 0 :(得分:0)
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([]);
}
}