laravel livewire отобразит флэш-сообщение, скройте его за 3 секунды. покажите снова, когда он снова выстрелит

#laravel-livewire #alpine.js

Вопрос:

Я пытаюсь показать сообщения сеанса в laravel livewire. Следующий код работает для меня. Он показывает сообщение о сеансе и скрывает его за 3 секунды. Однако проблема в том, что если я отправлю ту же форму снова, сообщение не будет отображаться так, как оно уже есть style="display:none"

 @if ($message = Session::get('action_message'))
    <div x-data="{ show: true }" x-show="show" x-init="setTimeout(() => show = false, 3000)">
    
    <div class="mx-2 p-2 bg-{{$message[1]}}-500 text-white rounded-md flex justify-between">
        
        <p>{{$message[0]}}</p>
    
        </div>
    </div>
@endif
 

код контроллера для запуска сообщения

 session()->flash('action_message',[$message.$this->sku,'green']);
 

Я ищу систему отображения сообщений, которая отображает сообщение при запуске с контроллера, скрывается за 3 секунды и снова отображается, когда контроллер снова запускает его.

Комментарии:

1. Возможно, вам потребуется использовать AlpineJS для отображения флэш-сообщений на вашей странице. Вот примерный пример: codepen.io/hugodf/pen/dyojOoO