Filament 父子组件共享状态
假设在自定义页面中,嵌有头部组件,下面代码示例如何在自定义页面与组件间的状态共享方法
父组件
use App\Filament\Widgets\ChildWidget;
use Filament\Pages\Page;
class ParentPage extends Page
{
public string $month = "";
// 监听子组件触发的事件
protected $listeners = ['updateMonth'];
protected function getHeaderWidgets(): array
{
return [
ChildWidget::class
];
}
public function updateMonth($value){
$this->month = $value;
}
}
子组件
class ChildWidget extends Widget
{
//筛选月份
public ?string $month;
// 给父组件传递状态,可以在 getViewData 中调用该方法
public function changeMonth($value){
$this->emit('updateMonth',$value);
}
}
本作品采用《CC 协议》,转载必须注明作者和本文链接