When the user submits the form, the server receives a request with the updated data property values from the inputs. An email is sent, and the template is re-rendered with the updated values.
When using wire:model, Livewire will only send a network request when an action is performed, like with wire:click or wire:submit. However, you may want to update the server more frequently for things like real-time validation. In those instances, use wire:model.live.
Live Updating
You can use wire:model.live to send property updates to the server as a user types.
<inputtype="text"wire:model.live="name">
By default, Livewire adds a 150-millisecond debounce to server updates. If the user is continually typing, Livewire will wait until the user stops typing for 150 milliseconds before sending a request.
You can customize the debounce using wire:model.live.debounce.Xms.
<selectwire:model="state"> <optiondisabledvalue="">Select a state</option> <cflooparray="#getStates()#"index="state"> <optionvalue="#state.id#">#state.label#</option> </cfloop></select>
Dependent select dropdowns
If you have a dropdown that is dependent on the value of another dropdown and needs to update, you can use wire:key to ensure it updates.
<!--- Select your state ---><selectwire:model.live="state"> <optiondisabledvalue="">Select a state</option> <cflooparray="#getStates()#"index="state"> <optionvalue="#state.id#">#state.label#</option> </cfloop></select><!--- Select city based on state ---><selectwire:model.live="city"wire:key="#state#"> <optiondisabledvalue="">Select a city</option> <cflooparray="#getCities( state )#"index="city"> <optionvalue="#city.id#">#city.label#</option> </cfloop></select>