如何更改默认的 Nova Dropdown Dash (—)

How to change default Nova Dropdown Dash (—)

我有一个这样的 BelongsTo 字段:

BelongsTo::make( __( 'Parent Page' ), 'parent', 'App\Nova\Page' )->nullable(),

下拉列表中的默认值是破折号 (—),我想将此标签更改为 "Main-Page"。

我现在拥有的:

我想要的

使用 BelongsTo 字段是不可能的。破折号硬编码在 Vue 组件中:

vendor/laravel/nova/resources/js/components/Form/BelongsToField.vue

<option value="" selected :disabled="!field.nullable">&mdash;</option>

这用于在 select 元素中创建第一个选项。

有趣的是, 可以使用 Select 字段,它允许您使用 withMeta() 函数来设置占位符。如果将它与 selected 元值结合起来,您可以创建如下内容:

Select::make('Parent Page')->options([
    'Page 1',
    'Page 2'
    // ... etc
])->withMeta([
    'placeholder' => 'Main-Page',
    'value' => null // or any value you'd like to use to pre-select an option
])->nullable()

注意:这是使用 Nova 2 完成的。我还没有用 v1 尝试过。