How can I add a debounce to my autosaving form field?
I have set up a filament form using Livewire. It has one textinput which autosaves when the user types anything. However I'd really like to add a debounce, so it only saves when the user has stopped typing to 0.5 seconds.
Is this possible?
PHP Livewire component class
Blade Livewire component
Is this possible?
PHP Livewire component class
class UsernameEntry extends Livewire\Component implements HasForms
{
use InteractsWithForms;
...
public function form(Form $form): form
{
return $form->schema([
TextInput::make('username')
->live(),
])->statePath('data');
$this->dispatch('showSaveMessage');
}
public function updatedData($value): void
{
$this->application->username = $value;
$this->application->save();
}
}Blade Livewire component
<form wire:submit="save">
{{ $this->form }}
</form>