EasyAdmin 文本区域字段
此字段用于表示任何类型的长文本内容。对于短文本内容,请使用 /fields/TextField。
在 表单页面(编辑和新建)中,它看起来像这样

提示
EasyAdmin 提供了其他用于长文本内容的字段:TextEditorField 非常适合博客文章或文档页面等内容;CodeEditorField 非常适合编辑和存储任何类型的源代码。
基本信息
- PHP 类:
EasyCorp
\Bundle \EasyAdminBundle \Field \TextareaField - Doctrine DBAL 类型 用于存储此值:
text
- Symfony 表单类型 用于渲染此字段: TextareaType
渲染为:
1
<textarea> ... </textarea>
选项
renderAsHtml
在只读页面(index
和 detail
)中,文本内容在显示之前会被转义(使用 htmlspecialchars()
)。如果您希望渲染 HTML 标签而不是转义它们,请添加此选项
1
yield TextareaField::new('...')->renderAsHtml();
setMaxLength
默认情况下,文本内容在 detail
页面中完整显示,并在 index
页面中截断为最多 64
个字符。使用此选项可以在 detail
和 index
页面中设置最大值
1 2 3 4 5
yield TextareaField::new('...')->setMaxLength(15);
// inside configureFields() you have access to the current page name
// use it to set different values per page
yield TextareaField::new('...')->setMaxLength($pageName === Crud::PAGE_DETAIL ? 1024 : 32);
此选项仅在只读页面(index
和 detail
)中生效。在表单页面(new
和 edit
)中,内容长度永远不会被截断。
注意
当同时使用 renderAsHtml()
选项时,此选项将被忽略,以避免在打开的 HTML 标签中间截断内容。
setNumOfRows
在表单页面(new
和 edit
)中使用的 <textarea>
元素的高度与显示其内容所需的高度一样大。此高度也会动态增长(通过 JavaScript)以始终匹配其内容的行数。
此选项设置字段内容为空时显示的行数。默认情况下,初始高度很小(5
行),因此当预期内容更长时(例如,博客文章),增加此值是一个好主意
1
yield TextareaField::new('...')->setNumOfRows(30);
stripTags
默认情况下,内容在显示之前会被转义。如果您愿意,可以使用此选项剥离 HTML 标签(内部调用 strip_tags()
PHP 函数)
// 如果原始内容是 `<strong>foo</strong>`,则只显示 `foo` yield TextareaField::new('...')->stripTags();