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
選項與其父選項的相同選項合併,因此子欄位可以重複使用和/或覆寫任何父預留位置。