布局模板中的組件搜索(組件 A),類組件中的代碼:
public $searchString;
$this->emitTo('admin.supplier.supplier-app', 'getListSupplier', $this->searchString);
組件供應商整頁(組件 B),類組件的代碼:
protected $listeners = ['getListSupplier'];
public function getListSupplier($search = '')
{
if ($search != '')
dd($search);
$data = Supplier::where('active', true)
->where('name', 'like', '%' . $search . '%')
->orderByDesc('id')
->paginate(2);
return $data;
}
public function render()
{
return view('livewire.admin.supplier.list', [
'ListSupplier' => $this->getListSupplier()
]);
}
大家好你們好。我從組件 A -> 組件 B 接收引數資料。但是組件 B 不顯示來自引數資料組件 A 的新資料。我希望當組件 A(搜索)向組件 B(串列供應商)發出事件時,組件 B 重新加載資料并顯示資料.
我嘗試將值 $refresh 添加到陣列 $listeners 中。但失敗
protected $listeners = ['getListSupplier'=>'$refresh'];
uj5u.com熱心網友回復:
這是因為您沒有更改類的任何屬性。在“組件 B”中。您應該將分頁移到render()方法中,或使用計算屬性。
protected $listeners = ['getListSupplier'];
public $search = '';
public function getListSupplier($search = '')
{
$this->search = $search;
}
public function render()
{
$listSupplier = Supplier::where('active', true)
->where('name', 'like', '%' . $this->search . '%')
->orderByDesc('id')
->paginate(2);
return view('livewire.admin.supplier.list', [
'ListSupplier' => $listSupplier,
]);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/518276.html
