选择文件时Livewire的/upload-file未触发问题求助
选择文件时Livewire的/upload-file未触发问题求助
各位好,我现在碰到个Livewire的麻烦问题,蹲个大佬帮忙分析下!
我写了个Livewire组件Import.php,负责处理捐赠数据的批量导入,用到了文件上传功能,目前组件的部分代码如下:
<?php namespace Modules\Donor\app\Livewire\Modals; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Notification; use Illuminate\Support\Str; use Laravel\Pennant\Feature; use Livewire\Attributes\Validate; use Livewire\Component; use Livewire\WithFileUploads; use Maatwebsite\Excel\Facades\Excel; use Modules\Batch\App\Models\Batchable; use Modules\Donor\App\Notifications\ImportNotification; // 原代码后续部分不慎截断,但核心逻辑围绕Excel文件上传展开
我在组件里已经引入了WithFileUploads trait,前端Blade模板里也给文件输入框绑定了wire:model到组件的对应属性,但是奇怪的是,当我选择本地文件后,浏览器完全没触发Livewire默认的/upload-file请求,文件根本没开始上传的动静。
我已经自己排查了好几个点,还是没找到原因:
- 反复确认
WithFileUploadstrait确实正确引入到组件里了 - 前端的文件输入标签写法没问题,
wire:model绑定的属性名和组件里定义的一致 - 打开浏览器控制台看了,没有任何JS报错或者请求失败的提示
- 测试了组件里的其他交互(比如按钮点击触发方法)都是正常的,说明Livewire的基础交互是通的
有没有朋友遇到过类似的情况呀?或者能给我一些新的排查方向?比如会不会是组件里的验证规则设置有问题?或者Pennant的Feature开关影响了上传请求的触发?
内容来源于stack exchange
相关产品推荐
相关产品推荐

