當我們在 livewire 的 component 傳送一個 session flash:

session()->flash('message', '儲存成功');

 

前端偵測到就會出現內容

@if (session()->has('message'))
  <div class="alert alert-success">
    {{ session('message') }}
  </div>
@endif

 

那如果要讓這個內容隔一段時間就消失,可以在 componet 傳送變數過去

$this->emit('alert_remove');

 

前端這邊就可以抓到傳送來的事件後執行 js

document.addEventListener('livewire:load', function () {
            Livewire.on('alert_remove',()=>{
                setTimeout(function(){
                    $(".alert").fadeOut();
                }, 5000); // 5 secs
            });
        })

 

主要就是要知道怎麼抓到事件就好了。