Text input column
简介
文本输入列(TextInputColumn)允许你在表格中渲染文本输入框,可用于在不打开新页面或模态框的情况下更新数据库记录:
use Filament\Tables\Columns\TextInputColumn;
TextInputColumn::make('email')

验证
你可以使用数组传入任何 Laravel 验证规则,对输入进行验证:
use Filament\Tables\Columns\TextInputColumn;
TextInputColumn::make('name')
->rules(['required', 'max:255'])
自定义 HTML Input 类型
你可以使用 type() 方法传递自定义 HTML Input 类型:
use Filament\Tables\Columns\TextInputColumn;
TextInputColumn::make('background_color')->type('color')
设置 HTML 输入模式
你可以使用 inputMode() 方法来设置 HTML inputmode 属性,该属性用于提示移动设备上应显示的键盘类型。对于数值输入,若需输入小数,请使用 inputMode('decimal');若需输入整数,请使用 inputMode('numeric'):
use Filament\Tables\Columns\TextInputColumn;
TextInputColumn::make('quantity')
->type('number')
->inputMode('decimal')
设置数值步长
当使用 type('number') 时,可以使用 step() 方法来设置 HTML step 属性。对于小数值,请使用 step('any');对于整数,请使用 step('1'):
use Filament\Tables\Columns\TextInputColumn;
TextInputColumn::make('quantity')
->type('number')
->inputMode('decimal')
->step('1')
在输入框旁添加前后缀文本
你可以使用 prefix() 和 suffix() 方法在输入框前后放置文本:
use Filament\Tables\Columns\TextInputColumn;
TextInputColumn::make('domain')
->prefix('https://')
->suffix('.com')
除了允许静态值之外,prefix() and suffix() 方法也接受函数来动态计算它们的值。你可以将各种 utility 作为参数注入到函数中。
Learn more about utility injection.| Utility | Type | Parameter | Description |
|---|---|---|---|
| Column | Filament\Tables\Columns\Column | $column | The current column instance. |
| Livewire | Livewire\Component | $livewire | The Livewire component instance. |
| Eloquent record | ?Illuminate\Database\Eloquent\Model | $record | The Eloquent record for the current table row. |
| Row loop | stdClass | $rowLoop | The <a href="https://laravel.com/docs/blade#the-loop-variable" target="_blank">row loop</a> object for the current table row. |
| State | mixed | $state | The current value of the column, based on the current table row. |
| Table | Filament\Tables\Table | $table | The current table instance. |


