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);
}}