表单构造器 - 字段
Textarea
概述
文本区(Textarea) 允许你使用多行字符串:
use Filament\Forms\Components\Textarea; Textarea::make('description')
调整文本区大小
你可以定义 rows()
及 cols()
方法,来修改文本去的大小:
use Filament\Forms\Components\Textarea; Textarea::make('description') ->rows(10) ->cols(20)
文本去自动大小
通过设置 autosize()
方法,你也可以让文本区根据其内容自动调整大小:
use Filament\Forms\Components\Textarea; Textarea::make('description') ->autosize()
使该字段只读
不要与禁用字段混为一谈,你可以使用 readOnly()
方法使该字段只读:
use Filament\Forms\Components\Textarea; Textarea::make('description') ->readOnly()
与 disabled()
相比,它有一些不同之处:
- 使用
readOnly()
时,该字段仍然会在表单提交时发送到服务器。它可以通过浏览器控制台或者 JavaScript 操作改变。你可以使用dehydrated(false)
来阻止该行为。 - 当使用
readOnly()
时,它的样式没有任何改变。 - 当使用
readOnly()
时,该字段仍然是可聚焦的。
文本区验证
除了验证页面上的所有规则,文本区也有一些专门的验证规则。
长度验证
使用 minLength()
和 maxLength()
方法,你可以限制输入的长度。这些方法同时会对前端和后端进行验证:
use Filament\Forms\Components\Textarea; Textarea::make('description') ->minLength(2) ->maxLength(1024)
使用 length()
,你可以指定输入框的准确长度。该方法同时添加前端和后端验证:
use Filament\Forms\Components\Textarea; Textarea::make('question') ->length(100)
Edit on GitHubStill need help? Join our Discord community or open a GitHub discussion