【问题标题】:How to set default country in Symfony3 form?如何在 Symfony3 表单中设置默认国家?
【发布时间】:2017-04-17 18:08:48
【问题描述】:

我正在使用 Symfony3 表单。我的 Symfony 表单生成器中有一个CountryType。它工作正常。但是假设用户属于一家位于西班牙的公司。对于该用户,我想将默认国家/地区设置为西班牙,然后显示其余国家/地区。我如何在 Symfony3 中做到这一点。

我试过了,但它不起作用。

        $builder->add("country", CountryType::class, array(
            "label" => "Country",
            "required" => false,
            "preferred_choices" => array(
                "ES" => "Spain",
            ),
        ));

感谢您的宝贵时间。

【问题讨论】:

  • 投了反对票的人能否解释一下让您烦恼的问题出了什么问题?

标签: php symfony symfony-forms


【解决方案1】:

您可以使用data 选项设置默认国家/地区。

preferred_choices 会将国家放在列表顶部,但不会将它们设置为默认选择选项。

这应该是要走的路:

->add(
    'Country',
    CountryType::class,
    [
        'data'        => 'ES',
        'label'       => 'Country',
    ]
)

(使用 Symfony 4 和 5 测试)

【讨论】:

    【解决方案2】:

    在此类型Country::class 中,要使用数组上的首选选择,您应该使用:

    ->add('country', CountryType::class, [
        'preferred_choices' => ['DE'],
        'label' => 'address.form.country.label',
        'attr' => [
            'class' => 'form-control',
            'placeholder' => 'address.form.country.placeholder'
        ],
        'label_attr' => [
            'class' => 'col-sm-2 col-form-label'
        ],
    ])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-30
      • 2018-01-19
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      相关资源
      最近更新 更多