라이브와이어 확인
확인 대화 상자가 표시되고 사용자가 확인 버튼을 클릭한 후 필요한 작업을 수행합니다.
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class Confirm extends Component
{
public $displayingModal = false;
protected $listeners = [
'displayConfirmation' => 'display',
];
public $state = [
'title' => '',
'message' => '',
'return' => [
'component' => '',
'args' => [],
],
];
public function display($title, $message, $component, ...$args)
{
$this->state['title'] = $title;
$this->state['message'] = $message;
$this->state['return'] = [
'component' => $component,
'args' => $args,
];
$this->displayingModal = true;
}
public function confirm()
{
$this->emitTo(
$this->state['return']['component'],
...$this->state['return']['args']
);
$this->displayingModal = false;
}
public function cancel()
{
$this->state = [
'title' => '',
'message' => '',
'return' => [
'component' => '',
'args' => [],
],
];
$this->displayingModal = false;
}
public function render()
{
return view('livewire.confirm');
}
}
블레이드 파일:
<div>
<x-jet-dialog-modal wire:model="displayingModal">
<x-slot name="title">
{{ $state['title'] }}
</x-slot>
<x-slot name="content">
<p>
{{ $state['message'] }}
</p>
</x-slot>
<x-slot name="footer">
<x-jet-secondary-button wire:click="cancel" wire:loading.attr="disabled">
{{ __('No') }}
</x-jet-secondary-button>
<x-jet-button class="ml-3" wire:click="confirm" wire:loading.attr="disabled">
{{ __('Yes') }}
</x-jet-button>
</x-slot>
</x-jet-dialog-modal>
</div>
사용법은 다음과 같습니다.
$this->emitTo('confirm', 'displayConfirmation', 'Delete Record', 'Are you sure?', 'livewire-component-name', 'destroyRecord', '11234');
또는
<div class="cursor-pointer"
wire:click="$emitTo('confirm', 'displayConfirmation', 'Delete Record', 'Are you sure?', 'livewire-component-name', 'destroyRecord', '11234')">
<x-icon name="o-trash" class="text-indigo hover:text-red-500 mr-3 flex-shrink-0 h-6 w-6">
</x-icon>
</div>
emitTo
는 기본적으로 지정된 Livewire 구성 요소의 이름을 트리거하고, 메서드를 호출하고, 메서드에 필요한 모든 인수를 전달합니다.livewire-component-name
는 추가 작업을 위해 정의된 모든 메서드를 처리할 책임이 있습니다. destroyRecord
는 ilivewire-component-name
를 호출하는 메서드이고, destroyRecord
에서 livewire-component-name
에서 받을 것으로 예상되는 '1234' 인수입니다.
Reference
이 문제에 관하여(라이브와이어 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nasrulhazim/livewire-confirm-4jn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)