Filament 父子组件共享状态的办法
作者:钓赛通
发布时间:2024-08-21
点击数:
假设在自定义页面中,嵌有头部组件,下面代码示例如何在自定义页面与组件间的状态共享方法
父组件
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; }}Copy
子组件
class ChildWidget extends Widget{ //筛选月份 public ?string $month; // 给父组件传递状态,可以在 getViewData 中调用该方法 public function changeMonth($value){ $this->emit('updateMonth',$value); }}