Saya menghadapi masalah dengan penomboran Livewire apabila menggunakan dua komponen penomboran pada halaman yang sama. Saya mengikuti nasihat dokumentasi Livewire tentang menggunakan berbilang penomboran. Walau bagaimanapun, apabila saya cuba menavigasi ke halaman pada salah satu komponen, saya menghadapi dua masalah:
Komponen lain berfungsi seperti yang diharapkan dan dicipta dengan cara yang sama seperti komponen yang menunjukkan masalah yang diterangkan.
Saya cuba mengikuti dokumentasi dan penyahpepijatan, tetapi tidak kesampaian. Berikut ialah versi ringkas kod saya, secara longgar berdasarkan dokumentasi.
ActivityLogs.php
class ActivityLogs memanjangkan Komponen { gunakan WithPagination; Model awam $model; Peribadi ActivityLogRepository $activityLogRepository; but fungsi awam(ActivityLogRepository $activityLogRepository): batal { $this->activityLogRepository = $activityLogRepository; } pelekap fungsi awam(Model $model): batal { $this->model = $model; } fungsi awam render(): Lihat { paparan kembali('livewire.activity-logs.activity-logs', [ 'aktiviti' => $this->activityLogRepository ->getLogsForModel($this->model) ->halaman(5, pageName: 'activityPage'), ]); } }
activity-logs.blade.php
@if($activities->isNotEmpty()) @foreach($aktiviti sebagai $aktiviti) @dump($aktiviti) @endforeach{{ $aktiviti->onEachSide(1)->pautan() }}@lain {{ __('Model ini tidak mempunyai aktiviti log.') }} @endif
Saya akan berterima kasih jika anda dapat memahami mengapa saya menghadapi masalah di atas. Terima kasih!
Komponen bersarang anda nampaknya kehilangan atribut
:key
属性。由于 Livewire 需要知道应重新渲染哪个组件,因此使用:key
untuk menjejak komponen.Dikemas kini activity-logs.blade.php
Rujukan:https://laravel-livewire.com /docs/2.x/nesting-components#keyed-components