News

Livewire 3.6 Released

Published
Livewire 3.6 Released image

Laravel Livewire released v3.6 this week with new HTML directives for showing and hiding DOM elements and JavaScript actions.

JavaScript Actions

Caleb Porzio added support for defining JavaScript actions "which are JavaScript functions that can be called from wire:click or $wire, to either run client side code only or to apply optimistic updates before triggering a server request."

Here's an example from Pull Request #9202:

<?php
use Livewire\Volt\Component;
 
new class extends Component {
public function save()
{
// ...
}
};
?>
 
<div>
<button wire:click="doSomething">Do Something</button>
</div>
 
@script
<script>
$js('doSomething', () => {
console.log('doSomething');
 
$wire.save()
});
</script>
@endscript

You can also call JavaScript actions from PHP using the ->js() method:

$this->js('onPostSaved');

You can learn more about JavaScript actions in the Actions documentation.

New HTML Directives

Josh Hanley contributed the wire:show and wire:text directives, and Caleb Porzio contributed wire:cloak and wire:transition directives.

The wire:show and wire:text directives are Livewire equivalents of Alpine's x-show and x-text. The wire:show directive, for example, toggles an element's visibility using CSS

<div>
<button x-on:click="$wire.showModal = true">New Post</button>
 
<div wire:show="showModal">
<form wire:submit="save">
<textarea wire:model="content"></textarea>
 
<button type="submit">Save Post</button>
</form>
</div>
</div>

The wire:text directive dynamically updates an element's content, making it useful for building optimistic UIs:

<div>
<button x-on:click="$wire.likes++; $wire.like()">❤️ Like</button>
 
Likes: <span wire:text="likes"></span>
</div>

You can learn more about these new directives from Livewire's documentation:

Release Notes

You can see the complete list of new features from the diff between 3.5.20 and 3.6.0 on GitHub. You can learn more about these features and more from the Livewire documentation.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
Taylor disabled GitHub Issues on most Laravel open-source packages. image

Taylor disabled GitHub Issues on most Laravel open-source packages.

Read article
Exclude Vendor and Default Commands in `php artisan dev` image

Exclude Vendor and Default Commands in `php artisan dev`

Read article
The Laracon Archive image

The Laracon Archive

Read article
Group Adjacent Collection Items in Laravel with chunkBy() image

Group Adjacent Collection Items in Laravel with chunkBy()

Read article
Laravel queue:work Now Prints Why the Worker Stopped image

Laravel queue:work Now Prints Why the Worker Stopped

Read article
Sidecar Brings Statamic's Control Panel to Your Existing Markdown Sites image

Sidecar Brings Statamic's Control Panel to Your Existing Markdown Sites

Read article