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');
    }
}