Laravel Livewire将图像属性传递给父组件
将图像属性从子组件传递到父组件时出现问题 以下是基本组件,主要负责提交数据:Laravel Livewire将图像属性传递给父组件,laravel,laravel-livewire,Laravel,Laravel Livewire,将图像属性从子组件传递到父组件时出现问题 以下是基本组件,主要负责提交数据: <div> <livewire:child-component /> </div> <?php namespace App\Http\Livewire; use Livewire\Component; class BaseComponent extends Component { protected $listeners = [
<div>
<livewire:child-component />
</div>
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class BaseComponent extends Component
{
protected $listeners = [
'store'
];
public function store($image)
{
dd($image);
// ['disk' => 'local']
}
public function render()
{
return view('livewire.base-component');
}
}
您是否确实在ChildComponent
中上载文件?不,我想在父组件中上载文件,因此您的ChildComponent
只显示文件的输入表单,而不执行其他操作?正确!谁可以将属性图像作为livewire图像类传递给父级?更好的解决方案是在子组件中执行上载,然后将上载文件的名称发送给要保存的父级。如果出现问题,只需删除该文件。有一个不上传的上传组件是没有意义的。
<div>
<form wire:submit.prevent="submit">
<input type="file" wire:model="image">
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
<?php
namespace App\Http\Livewire;
use Livewire\Component;
use Livewire\WithFileUploads;
class ChildComponent extends Component
{
use WithFileUploads;
public $image;
public function submit()
{
$this->validate([
'image' => 'image'
]);
$this->emitUp('store', $this->image);
}
public function render()
{
return view('livewire.child-component');
}
}