Skip to main content
The Table class is the foundation for building interactive data tables in Filament. It provides functionality for displaying records, searching, filtering, sorting, pagination, bulk actions, and more.

Namespace

Inheritance

Extends: Filament\Support\Components\ViewComponent

Static Methods

make()

Create a new table instance.
HasTable
The Livewire component that implements the HasTable contract.
static
Returns the configured table instance.
Example:

Configuration Methods

The Table class uses multiple traits that provide configuration methods:

Columns

Define the table columns. Example:

Filters

Define the table filters. Example:

Actions

Define row actions. Example:

Bulk Actions

Define bulk actions for selected records. Example:

Header Actions

Define actions in the table header. Example:

Search and Filtering

searchable()

Enable global search.

searchPlaceholder()

Set the search input placeholder.
Example:

searchOnBlur()

Only search when the input loses focus.

searchDebounce()

Set the search debounce delay.
Example:

Sorting

defaultSort()

Set the default sort column and direction.
Example:

Pagination

paginated()

Enable pagination.
Example:

defaultPaginationPageOption()

Set the default number of records per page.
Example:

paginationPageOptions()

Set the available page size options.

Query Modification

query()

Modify the Eloquent query.
Example:

modifyQueryUsing()

Modify the query using a callback.

Empty State

emptyStateHeading()

Set the empty state heading.

emptyStateDescription()

Set the empty state description.

emptyStateIcon()

Set the empty state icon.

emptyStateActions()

Set actions for the empty state.

Display Options

striped()

Enable striped rows.

poll()

Automatically refresh the table.
Example:

deferLoading()

Defer loading until the table is visible.

Record Grouping

groupingDirectionSettingHidden()

Hide the grouping direction setting.

Reordering

reorderable()

Enable drag-and-drop reordering.
Example:

Constants

LOADING_TARGETS

Livewire loading targets for the table.

Traits

The Table class uses multiple traits for functionality:
  • BelongsToLivewire - Livewire component relationship
  • CanBeStackedOnMobile - Mobile stacking support
  • CanBeStriped - Striped rows
  • CanDeferLoading - Deferred loading
  • CanGroupRecords - Record grouping
  • CanPaginateRecords - Pagination
  • CanPollRecords - Auto-refresh polling
  • CanReorderRecords - Drag-and-drop reordering
  • CanSearchRecords - Search functionality
  • CanSortRecords - Column sorting
  • CanSummarizeRecords - Record summaries
  • HasActions - Row actions
  • HasArguments - Table arguments
  • HasBulkActions - Bulk actions
  • HasColumnManager - Column visibility management
  • HasColumns - Column configuration
  • HasContent - Content customization
  • HasEmptyState - Empty state configuration
  • HasFilterIndicators - Filter indicators
  • HasFilters - Filter configuration
  • HasHeader - Header customization
  • HasHeaderActions - Header actions
  • HasHeadings - Heading configuration
  • HasQuery - Query modification
  • HasQueryStringIdentifier - Query string support
  • HasRecordAction - Default record action
  • HasRecordActions - Record action configuration
  • HasRecordClasses - Custom record classes
  • HasRecords - Record management
  • HasRecordUrl - Record URL generation
  • HasToolbarActions - Toolbar actions