文本输入
概述
文本输入(TextInput)字段允许你使用字符串:
use Filament\Forms\Components\TextInput;
TextInput::make('name')
设置 HTML input 类型
你可以使用一系列方法 设置字符串类型。比如,email()
,同时也提供了相应的验证:
use Filament\Forms\Components\TextInput;
TextInput::make('text')
->email() // or
->numeric() // or
->password() // or
->tel() // or
->url()
你也可以使用 type()
方法,并传入一个HTML Input 类型:
use Filament\Forms\Components\TextInput;
TextInput::make('backgroundColor')
->type('color')
设置 HTML input 模 式
使用 inputMode()
方法,你可以设置输入框的 inputmode
属性:
use Filament\Forms\Components\TextInput;
TextInput::make('text')
->numeric()
->inputMode('decimal')
设置数值步长
使用 step()
方法,你可以设置的 Input 的 step
属性:
use Filament\Forms\Components\TextInput;
TextInput::make('number')
->numeric()
->step(100)
自动补全文本
使用 autocomplete()
方法,你可以启用浏览器的自动补全:
use Filament\Forms\Components\TextInput;
TextInput::make('password')
->password()
->autocomplete('new-password')
你也可以使用 autocomplete(false)
,作为 autocomplete="off"
的快捷方式:
use Filament\Forms\Components\TextInput;
TextInput::make('password')
->password()
->autocomplete(false)
对于更复杂的自动补全选项,文本输入框也支持 datalists。
使用 datalist 自动补全
使用 datalist()
方法,你可以指定文本输入框的 datalist 选项:
TextInput::make('manufacturer')
->datalist([
'BWM',
'Ford',
'Mercedes-Benz',
'Porsche',
'Toyota',
'Tesla',
'Volkswagen',
])
使用文本输入框时,Datalist 为用户提供自动补全选项。不过,这些选项纯属推荐,用户仍然在输入框中可以输入任何值。如果你想要限制用户输入一组预定义选项,请查阅 Select 字段。
自动大写文本
使用 autocapitalize()
方法,你可以允许浏览器自动大写文本:
use Filament\Forms\Components\TextInput;
TextInput::make('name')
->autocapitalize('words')