Livewire 组件到另一个 Livewire 组件
Livewire component into another livewire component
我有一个包含几张卡片的 livewire 概述组件。在那些卡片中有一个 livewire 表单,但是当我将表单包含到概览组件中时,我的整个 livewire 都停止工作了..
我要添加到概览组件文件中的唯一一行是:
@livewire('apply-form')
当我删除该 livewire 方法时,一切都再次正常工作,但我的概览组件中也需要该表格..
我有什么地方做错了吗,或者谁能帮我解决这个奇怪的问题'bug'?
不知道我的 livewire 版本,但资产已过时。
livewire 也没有给出错误。
Main component where we include the other component that crashes the rest
导致其他崩溃的livewire组件代码:
namespace App\Http\Livewire;
use Illuminate\Support\Facades\Mail;
use Livewire\Component;
use App\Mail\ApplyMail;
use Livewire\WithFileUploads;
class ApplyForm extends Component
{
use WithFileUploads;
public $voornaam;
public $achternaam;
public $woonplaats;
public $geboortedatum;
public $emailadres;
public $telefoonnummer;
public $vacaturenaam;
public $cv;
protected $rules = [
'voornaam' => 'required|max:10',
'achternaam' => 'required|max:10',
'woonplaats' => 'required|max:10',
'geboortedatum' => 'required|date',
'emailadres' => 'required|e-mail',
'telefoonnummer' => 'required|numeric',
'vacaturenaam' => 'required',
'cv' => 'required|mimes:pdf'
];
public function submit()
{
$validated = $this->validate();
$cvRandom = rand(1, 9999999) . '.pdf';
// Upload cv
$this->cv->storeAs('cvs', $cvRandom);
Mail::to('info@nlconnekt.nl')->send(new ApplyMail([$validated, $cvRandom]));
// Reset the values after a form submit
// $this->voornaam = '';
// $this->achternaam = '';
// $this->woonplaats = '';
// $this->geboortedatum = '';
// $this->emailadres = '';
// $this->telefoonnummer = '';
return session()->flash('message', 'Bedankt voor uw sollicitatie. Wij nemen z.s.m contact met u op');
}
public function render()
{
return view('livewire.apply-form');
}
}
尝试在嵌套组件时按照 the documentation 中的建议向该 livewire 组件添加一个键
@livewire('apply-form', ['vacaturnaam' => $vacancy->title], key($vacancy->id))
我有一个包含几张卡片的 livewire 概述组件。在那些卡片中有一个 livewire 表单,但是当我将表单包含到概览组件中时,我的整个 livewire 都停止工作了..
我要添加到概览组件文件中的唯一一行是:
@livewire('apply-form')
当我删除该 livewire 方法时,一切都再次正常工作,但我的概览组件中也需要该表格..
我有什么地方做错了吗,或者谁能帮我解决这个奇怪的问题'bug'?
不知道我的 livewire 版本,但资产已过时。
livewire 也没有给出错误。
Main component where we include the other component that crashes the rest
导致其他崩溃的livewire组件代码:
namespace App\Http\Livewire;
use Illuminate\Support\Facades\Mail;
use Livewire\Component;
use App\Mail\ApplyMail;
use Livewire\WithFileUploads;
class ApplyForm extends Component
{
use WithFileUploads;
public $voornaam;
public $achternaam;
public $woonplaats;
public $geboortedatum;
public $emailadres;
public $telefoonnummer;
public $vacaturenaam;
public $cv;
protected $rules = [
'voornaam' => 'required|max:10',
'achternaam' => 'required|max:10',
'woonplaats' => 'required|max:10',
'geboortedatum' => 'required|date',
'emailadres' => 'required|e-mail',
'telefoonnummer' => 'required|numeric',
'vacaturenaam' => 'required',
'cv' => 'required|mimes:pdf'
];
public function submit()
{
$validated = $this->validate();
$cvRandom = rand(1, 9999999) . '.pdf';
// Upload cv
$this->cv->storeAs('cvs', $cvRandom);
Mail::to('info@nlconnekt.nl')->send(new ApplyMail([$validated, $cvRandom]));
// Reset the values after a form submit
// $this->voornaam = '';
// $this->achternaam = '';
// $this->woonplaats = '';
// $this->geboortedatum = '';
// $this->emailadres = '';
// $this->telefoonnummer = '';
return session()->flash('message', 'Bedankt voor uw sollicitatie. Wij nemen z.s.m contact met u op');
}
public function render()
{
return view('livewire.apply-form');
}
}
尝试在嵌套组件时按照 the documentation 中的建议向该 livewire 组件添加一个键
@livewire('apply-form', ['vacaturnaam' => $vacancy->title], key($vacancy->id))