spatie/livewire-filepond

在Livewire组件中使用Filepond上传文件

1.2.0 2024-09-20 13:56 UTC

This package is auto-updated.

Last update: 2024-09-20 13:58:37 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Filepond是一个强大的JavaScript库,用于上传文件。

此存储库包含一个Livewire组件,允许您在项目中轻松使用Filepond。

以下是在视图中使用它的示例

<x-filepond::upload wire:model="file" />

以下是在mailcoach.app(我们在Spatie构建的产品)中的实际效果

screenshot

支持我们

我们投入了大量资源来创建最佳的开源软件包。您可以通过购买我们的付费产品之一来支持我们。

我们非常感谢您从家乡寄给我们明信片,说明您正在使用我们哪个包。您可以在我们的联系页面找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上

安装

您可以通过composer安装此包

composer require spatie/livewire-filepond

可选,您可以使用以下方法发布视图

php artisan vendor:publish --tag="livewire-filepond-views"

用法

首先,将脚本添加到您想要使用Filepond的布局或视图中

@filepondScripts

接下来,将WithFilePond特性添加到您的组件中

use Livewire\Component;
use Spatie\LivewireFilepond\WithFilePond;

class MyLivewireComponent extends Component
{
    use WithFilePond;
    
    public $file;
}

最后,将组件添加到您的视图中

<x-filepond::upload wire:model="file" />

自定义组件

可选,您可以使用以下组件属性来自定义组件

  • multiple:允许上传多个文件。默认:false
  • required:使文件输入成为必填项。默认:false
  • disabled:禁用文件输入。默认:false
  • placeholder:文件输入的占位符文本。默认:Drag & Drop your files or <span class="filepond--label-action">浏览 </span>

此外,您还可以传递Filepond组件接受的任何属性。请确保使用kebab case属性。例如,要将文件的最大数量设置为5,您可以这样做

<x-filepond::upload wire:model="file" max-files="5" />

本地化会根据当前区域自动工作。如果您想自定义语言,可以使用以下方法发布语言文件

php artisan vendor:publish --tag="livewire-filepond-translations"

如果您想更改区域,可以通过更改.env文件

APP_LOCALE=id # change to Indonesian for example

或使用laravel的App外观设置区域

use Illuminate\Support\Facades\App;

App::setLocale('id'); // change to Indonesian for example

最后一种方法可以用来动态更改区域。例如,当用户更改语言时(您需要自行实现此功能)。

发布资产

Livewire Filepond会自动通过一个端点加载脚本。如果您想直接提供资产,可以发布它们

php artisan vendor:publish --tag=livewire-filepond-assets --force

要始终保持资产最新,可以将上述命令添加到Composer的post-update-cmd脚本中。

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

请参阅CONTRIBUTING以获取详细信息。

安全漏洞

请审查我们的安全策略,了解如何报告安全漏洞。

鸣谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。