我使用的是Symfony3表单。我的Symfony表单生成器中有一个CountryType
。它正常工作。但假设用户属于位于西班牙的公司。对于该用户,我想将默认国家/地区设置为西班牙,然后显示其他国家/地区。我怎么能在Symfony3中这样做。
我尝试了这个,但它不起作用。
$builder->add("country", CountryType::class, array(
"label" => "Country",
"required" => false,
"preferred_choices" => array(
"ES" => "Spain",
),
));
感谢您的时间。
答案 0 :(得分:4)
在此类型Country::class
中,要使用数组上的首选选项,您应该使用:
->add('country', CountryType::class, ["preferred_choices" => array('DE'),
'label' => 'address.form.country.label',
'attr' => [
'class' => 'form-control',
'placeholder' => 'address.form.country.placeholder'
],
'label_attr' => [
'class' => 'col-sm-2 col-form-label'
],
])
答案 1 :(得分:1)
您可以使用 data
选项设置默认国家/地区。
preferred_choices
会将国家/地区置于列表顶部,但不会将它们设置为默认选择选项。
这应该是要走的路:
->add(
'Country',
CountryType::class,
[
'data' => 'ES',
'label' => 'Country',
]
)
(使用 Symfony 4 和 5 测试)