Livewire で Fomantic-UI の評価(Rating)を使うには?wire:ignore使わない編
Laravel と Livewire をインストールして、Fomantic-UI の評価(Rating)を使う手順。 プロジェクト名(rating)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 次のコマンドを実行して、ratingコンポーネント を生成します。 次の 2つ のファイルが生成されます。 ※因みに、renderメソッド を定義しなくても livewire.rating は呼び出されます。 生成された ratingコンポーネント のクラスとビューを次のように置き換えます。 app/Http/Livewire/Rating.php ↑上のポイントは、プロパティ更新時の updatedメソッド で、refreshイベント を発行して評価コンポーネントを再描画するようにしているところです。 resources/views/livewire/rating.blade.php ポイントは1行目の「wire:ignore」を消したところと、「@this.set()」と「Livewire.on(‘set-rating’,…)」です。 resources/views/index.blade.php ファイル を作成します。 routes/web.php に Livewireコンポーネント のルートを追加します ブラウザで確認します。 tail で onRate(ユーザーが評価を選択した後)のタイミングで通信していることを確認しましょう。 ちょっと、どうにかならないのかなと思うのが2点①Ratingクラスに updatedメソッドを作り、イベントを発行しなければならない点。②rating.blade.php でイベントを受け取り、再描画する為に ratingメソッド が2回呼ばれている点。 ①に関しては、イベントを発行する場所をデハイドレートにして解決できました。 […]
Livewire で Fomantic-UI の評価(Rating)を使うには?wire:ignore使わない編 Read More »