ButtonType 字段
一个简单的、非响应式的按钮。
渲染为 | button 标签 |
父类型 | 无 |
类 | ButtonType |
提示
此表单类型定义和继承的完整选项列表可通过在您的应用中运行此命令获得
1 2
# replace 'FooType' by the class name of your form type
$ php bin/console debug:form FooType
继承的选项
以下选项在 BaseType 类中定义。 BaseType
类是 button
类型和 FormType 的父类,但它不是表单类型树的一部分(即它不能单独用作表单类型)。
attr
类型: array
默认值: []
如果您想向按钮的 HTML 表示形式添加额外的属性,您可以使用 attr
选项。它是一个关联数组,其中 HTML 属性作为键。当您需要为按钮设置自定义类时,这非常有用
1 2 3 4 5 6
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
// ...
$builder->add('save', ButtonType::class, [
'attr' => ['class' => 'save'],
]);
disabled
类型: boolean
默认值: false
如果您不希望用户能够点击按钮,您可以将 disabled 选项设置为 true。这将无法通过此按钮提交表单,即使绕过浏览器并手动发送请求(例如使用 cURL)也不行。
label
类型: string
或 TranslatableMessage
默认值: 标签是从字段名称“猜测”出来的
设置将显示在按钮上的标签。标签也可以直接在模板中设置
1
{{ form_widget(form.save, { 'label': 'Click me' }) }}
label_html
类型: boolean
默认值: false
默认情况下,label
选项的内容在模板中渲染之前会被转义。将此选项设置为 true
以不转义它们,当标签包含 HTML 元素时,这非常有用。
label_translation_parameters
类型: array
默认值: []
label 选项的内容在显示之前会被翻译,因此它可以包含 翻译占位符。此选项定义用于替换这些占位符的值。
给定以下翻译消息
1 2
# translations/messages.en.yaml
form.order.submit_to_company: 'Send an order to %company%'
您可以按如下方式指定占位符值
1 2 3 4 5 6 7 8 9
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
// ...
$builder->add('send', ButtonType::class, [
'label' => 'form.order.submit_to_company',
'label_translation_parameters' => [
'%company%' => 'ACME Inc.',
],
]);
按钮的 label_translation_parameters
选项与其父选项的相同选项合并,因此按钮可以重用和/或覆盖任何父占位符。
attr_translation_parameters
类型: array
默认值: []
attr 选项中定义的 title
和 placeholder
值的内容在显示之前会被翻译,因此它可以包含 翻译占位符。此选项定义用于替换这些占位符的值。
给定以下翻译消息
1 2 3
# translations/messages.en.yaml
form.order.id.placeholder: 'Enter unique identifier of the order to %company%'
form.order.id.title: 'This will be the reference in communications with %company%'
您可以按如下方式指定占位符值
1 2 3 4 5 6 7 8 9
$builder->add('id', null, [
'attr' => [
'placeholder' => 'form.order.id.placeholder',
'title' => 'form.order.id.title',
],
'attr_translation_parameters' => [
'%company%' => 'ACME Inc.',
],
]);
子字段的 attr_translation_parameters
选项与其父选项的相同选项合并,因此子字段可以重用和/或覆盖任何父占位符。
row_attr
类型: array
默认值: []
添加到用于渲染 表单类型行 的元素的 HTML 属性的关联数组
1 2 3
$builder->add('body', TextareaType::class, [
'row_attr' => ['class' => 'text-editor', 'id' => '...'],
]);
另请参阅
如果您想将这些属性添加到 表单类型 widget 元素,请使用 attr
选项。