---
title: SubmissionsList Component
---
# SubmissionsList Component
The SubmissionsList component displays form submissions with search, filtering, and export capabilities.
## Basic Usage
```blade
{{-- All submissions for a form --}}
{{-- All submissions across all forms --}}
```
## Properties
| Property | Type | Default | Description |
|----------|------|---------|-------------|
| `form` | Form\|null | null | Filter by form |
| `perPage` | int | 15 | Items per page |
| `sortBy` | string | 'created_at' | Sort column |
| `sortDirection` | string | 'desc' | Sort direction |
## Features
- Search submissions by field values
- Filter by date range
- Sort by columns
- Pagination
- Export to CSV/Excel
- Bulk delete
- View submission details
## Component Structure
```blade
```
## Methods
### exportCsv
Export submissions to CSV:
```php
public function exportCsv()
{
$this->authorize('export', FormSubmission::class);
return response()->streamDownload(function () {
echo $this->exportService->toCsv($this->form, [
'search' => $this->search,
'start_date' => $this->startDate,
'end_date' => $this->endDate,
]);
}, "submissions-{$this->form->slug}.csv");
}
```
### delete
Delete a single submission:
```php
public function delete(int $id): void
{
$submission = FormSubmission::findOrFail($id);
$this->authorize('delete', $submission);
$submission->delete();
session()->flash('success', 'Submission deleted.');
}
```
### deleteSelected
Bulk delete submissions:
```php
public function deleteSelected(): void
{
foreach ($this->selected as $id) {
$submission = FormSubmission::find($id);
if ($submission && Gate::allows('delete', $submission)) {
$submission->delete();
}
}
$this->selected = [];
session()->flash('success', 'Selected submissions deleted.');
}
```
## Display Columns
Configure which fields to show in the list:
```php
public array $displayColumns = ['email', 'name'];
// Or dynamically from form
public function getDisplayColumnsProperty(): array
{
if (!$this->form) {
return ['email'];
}
return $this->form->fields
->where('type', '!=', 'hidden')
->take(3)
->pluck('name')
->toArray();
}
```
## Events Emitted
| Event | Payload | Description |
|-------|---------|-------------|
| `submission-deleted` | `{ id }` | Submission deleted |
| `submissions-exported` | `{ count }` | Export completed |
## Customizing the View
Publish views:
```bash
php artisan vendor:publish --tag=forms-views
```
Edit `resources/views/vendor/forms/livewire/submissions-list.blade.php`.
## Next Steps
- [SubmissionDetail](./submission-detail.md) - Submission detail view
- [Submissions Usage](../usage/submissions.md) - Working with submissions