跳到主要内容
版本:3.x

高级信息列表

插入 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()