在 ChoiceType 中插入 'placeholder' 的正确位置是什么?

What is the correct place to insert 'placeholder' in ChoiceType?

我正在使用带有 Bootstrap 4 的 Symfony 5.2,我正在设计一个包含 ChoiceType 字段的表单。我需要一个占位符来显示,例如“Select 一个选项”。我尝试了不同的选项,其中 none 有效。我的档案 ComisionNewFormType.php:

  ->add('turno', ChoiceType::class, [
    'label' => 'Turno:',
    'attr' => [
        'class' => 'form-control',
        'placeholder' => '-Seleccione un turno',
    ],
    'choices' => [
    'Mañana' => 'Mañana' ,
    'Tarde' => 'Tarde',
    'Noche' => 'Noche' ,
    'Desconocido' =>'Desconocido' ,
     ],      
])   

我的 Twig 模板是:

 <div class="col">
    Intensidad:<font color="red"> {{ form_errors(form.turno)}}</font>
    {{ form_widget(form.turno, {'attr': {'placeholder': '-Seleccione un turno'}}) }}  
 </div> 

然而,结果看起来像这样,没有“占位符”:

Firefox 中的源代码如下所示:

 <div class="col-sm-2"> 
        Turno:
<select id="comision_new_form_turno" name="comision_new_form[turno]" class="form-control form-control">
<option value="Mañana">Mañana</option>
<option value="Tarde">Tarde</option>
<option value="Noche">Noche</option>
<option value="Desconocido">Desconocido</option>
</select>            
</div>

占位符没有出现。

我应该如何使占位符在上述字段的表单中可见?

正如文档所说,您必须使用 ChoiceType 选项中的占位符 (https://symfony.com/doc/current/reference/forms/types/choice.html#placeholder)

->add('turno', ChoiceType::class, [
    'label' => 'Turno:',
    'placeholder' => '-Seleccione un turno',
    'attr' => [
        'class' => 'form-control',
     ],
    'choices' => [
    'Mañana' => 'Mañana' ,
    'Tarde' => 'Tarde',
    'Noche' => 'Noche' ,
    'Desconocido' =>'Desconocido' ,
     ],      
])   

应用“jona303”提出的解决方案,完整代码如下所示: 文件 ComisionNewFormType.php:

 ->add('turno', ChoiceType::class, [
    'label' => 'Turno:',
    'placeholder' => '-Seleccione',      
    'choices' => [
    'Mañana' => 'Mañana' ,
    'Tarde' => 'Tarde',
    'Noche' => 'Noche' ,
    'Desconocido' =>'Desconocido' ,
     ],      
])   

Twig 模板是:

<div class="col-sm-2"> 
    Turno:<font color="red"> {{ form_errors(form.turno)}}</font>
           {{ form_widget(form.turno) }}            
 </div>

结果如下所示: