高级信息列表
插入 Livewire 组件到信息列表
你可以将一个 Livewire 组件插入到信息列表中:
use Filament\Infolists\Components\Livewire;
use App\Livewire\Foo;
Livewire::make(Foo::class)
如果你渲染了多个相同的 Livewire 组件,请确保传入唯一的 key()
到各个组件中:
use Filament\Infolists\Components\Livewire;
use App\Livewire\Foo;
Livewire::make(Foo::class)
->key('foo-first')
Livewire::make(Foo::class)
->key('foo-second')
Livewire::make(Foo::class)
->key('foo-third')
传递参数给 Livewire 组件
你可以传递一个参数数组到一个 Livewire 组件中:
use Filament\Infolists\Components\Livewire;
use App\Livewire\Foo;
Livewire::make(Foo::class, ['bar' => 'baz'])
现在,这些参数将传递给 Livewire 组件的 mount()
方法:
class Foo extends Component
{
public function mount(string $bar): void
{
// ...
}
}
此外,它们可以作为该 Livewire 组件的 public 属性:
class Foo extends Component
{
public string $bar;
}
访问该 Livewire 组件的当前记录
在 mount()
方法中使用 $record
参数,或者通过 $record
属性,你可以访问 Livewire 组件的当前记录:
use Illuminate\Database\Eloquent\Model;
class Foo extends Component
{
public function mount(Model $record): void
{
// ...
}
// or
public Model $record;
}
懒加载 Livewire 组件
使用 lazy()
方法,你可以允许组件懒加载:
use Filament\Infolists\Components\Livewire;
use App\Livewire\Foo;
Livewire::make(Foo::class)->lazy()