Laravel Filament 中的 widget 功能可以快捷的实现各种个性化的小工具,比如统计概览、图表等。向自定义的工具中传递特定参数是常见的需求之一,但是官方文档并没有说明怎么向 widget 模板文件中传递参数。
看了下源码,默认情况下 $record 已经暴露在 livewire 中,可以直接使用。如果向传递自定义参数,您可以按如下方式将自定义数据分配给小组件。
widget 类:
<?php
namespace App\Filament\Widgets;
use Filament\Widgets\Widget;
class NewWidget extends Widget
{
public $widgetData;
protected static string $view = 'widgets.new-widget';
protected int | string | array $columnSpan = 12;
public function mount(): void
{
$this->widgetData = [
'custom_title' => "零五网",
'custom_url' => "https://www.02405.com"
];
}
}
视图文件:
<x-filament::widget>
<x-filament::card>
<x-slot name="heading">
{{ $widgetData["custom_title"] }}
</x-slot>
{{ $widgetData["custom_url"] }}
</x-filament::card>
</x-filament::widget>