Skip to content

[인포리스트] 고급 인포리스트

인포리스트에 Livewire 컴포넌트 삽입하기

인포리스트에 Livewire 컴포넌트를 직접 삽입할 수 있습니다:

php
use Filament\Infolists\Components\Livewire;
use App\Livewire\Foo;

Livewire::make(Foo::class)

동일한 Livewire 컴포넌트를 여러 개 렌더링하는 경우, 각 컴포넌트에 고유한 key()를 전달해야 합니다:

php
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 컴포넌트에 파라미터 배열을 전달할 수 있습니다:

php
use Filament\Infolists\Components\Livewire;
use App\Livewire\Foo;

Livewire::make(Foo::class, ['bar' => 'baz'])

이제 해당 파라미터들은 Livewire 컴포넌트의 mount() 메서드에 전달됩니다:

php
class Foo extends Component
{
    public function mount(string $bar): void
    {       
        // ...
    }
}

또는, public 속성으로 Livewire 컴포넌트에서 사용할 수 있습니다:

php
class Foo extends Component
{
    public string $bar;
}

Livewire 컴포넌트에서 현재 레코드 접근하기

Livewire 컴포넌트에서 mount() 메서드의 $record 파라미터나 $record 속성을 사용하여 현재 레코드에 접근할 수 있습니다:

php
use Illuminate\Database\Eloquent\Model;

class Foo extends Component
{
    public function mount(Model $record): void
    {       
        // ...
    }
    
    // 또는
    
    public Model $record;
}

Livewire 컴포넌트 지연 로딩하기

lazy() 메서드를 사용하여 지연 로딩을 허용할 수 있습니다:

php
use Filament\Infolists\Components\Livewire;
use App\Livewire\Foo;

Livewire::make(Foo::class)->lazy()

나를 위한 문서 한글화