跳到内容

EasyAdmin 文本区域字段

编辑此页

此字段用于表示任何类型的长文本内容。对于短文本内容,请使用 /fields/TextField

表单页面(编辑和新建)中,它看起来像这样

Default style of EasyAdmin textarea field

提示

EasyAdmin 提供了其他用于长文本内容的字段:TextEditorField 非常适合博客文章或文档页面等内容;CodeEditorField 非常适合编辑和存储任何类型的源代码。

基本信息

  • PHP 类: EasyCorp\Bundle\EasyAdminBundle\Field\TextareaField
  • Doctrine DBAL 类型 用于存储此值: text
  • Symfony 表单类型 用于渲染此字段: TextareaType
  • 渲染为:

    1
    <textarea> ... </textarea>

选项

renderAsHtml

在只读页面(indexdetail)中,文本内容在显示之前会被转义(使用 htmlspecialchars())。如果您希望渲染 HTML 标签而不是转义它们,请添加此选项

1
yield TextareaField::new('...')->renderAsHtml();

setMaxLength

默认情况下,文本内容在 detail 页面中完整显示,并在 index 页面中截断为最多 64 个字符。使用此选项可以在 detailindex 页面中设置最大值

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);

此选项仅在只读页面(indexdetail)中生效。在表单页面(newedit)中,内容长度永远不会被截断。

注意

当同时使用 renderAsHtml() 选项时,此选项将被忽略,以避免在打开的 HTML 标签中间截断内容。

setNumOfRows

在表单页面(newedit)中使用的 <textarea> 元素的高度与显示其内容所需的高度一样大。此高度也会动态增长(通过 JavaScript)以始终匹配其内容的行数。

此选项设置字段内容为空时显示的行数。默认情况下,初始高度很小(5 行),因此当预期内容更长时(例如,博客文章),增加此值是一个好主意

1
yield TextareaField::new('...')->setNumOfRows(30);

stripTags

默认情况下,内容在显示之前会被转义。如果您愿意,可以使用此选项剥离 HTML 标签(内部调用 strip_tags() PHP 函数)

// 如果原始内容是 `<strong>foo</strong>`,则只显示 `foo` yield TextareaField::new('...')->stripTags();

这项工作,包括代码示例,均根据 Creative Commons BY-SA 3.0 许可获得许可。
目录
    版本