同じページで 2 つのページネーション コンポーネントを使用すると、Livewire のページネーションで問題が発生します。複数のページネータの使用に関する Livewire ドキュメントのアドバイスに従いました。ただし、いずれかのコンポーネントのページに移動しようとすると、常に 2 つの問題が発生します。
他のコンポーネントは期待どおりに動作し、説明されている問題が発生しているコンポーネントと同じ方法で作成されました。
ドキュメントに従ってデバッグを試みましたが、うまくいきませんでした。これは、ドキュメントに大まかに基づいた、私のコードの簡略化されたバージョンです。
ActivityLogs.php
クラス ActivityLogs はコンポーネントを拡張します { WithPagination を使用します。 パブリックモデル $model; プライベート ActivityLogRepository $activityLogRepository; パブリック関数ブート(ActivityLogRepository $activityLogRepository): void { $this->activityLogRepository = $activityLogRepository; } パブリック関数マウント(Model $model): void { $this->model = $model; } パブリック関数 render(): ビュー { return view('livewire.activity-logs.activity-logs', [ 'アクティビティ' => $this->activityLogRepository ->getLogsForModel($this->モデル) ->paginate(5, pageName: 'activityPage'), ]); } }
activity-logs.blade.php
isNotEmpty()) @foreach($activities として $activity) @dump($activity) @endforeach{{ $activities->onEachSide(1)->links() }}@それ以外 <スパン> {{ __('このモデルにはログに記録されたアクティビティがありません。') }} @endif
私が上記の問題に直面している理由をご理解いただければ幸いです。ありがとう!
スパン>
ネストされたコンポーネントに
:key
属性が欠落しているようです。 Livewire はどのコンポーネントを再レンダリングする必要があるかを知る必要があるため、:key
属性を使用してコンポーネントを追跡します。アクティビティログ.blade.phpを更新しました
リーリー参照:https://laravel-livewire.com /docs/2.x/nesting-components#keyed-components