4 回答

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
我遇到過(guò)同樣的問(wèn)題。就我而言, render() 方法正在關(guān)閉我的父模式框。我剛剛在模態(tài) div 中添加了“wire:ignore”。Livewire 每當(dāng)調(diào)用 render() 方法時(shí)都會(huì)忽略該 div

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
我遇到了這種黑客:如果您關(guān)心的是不重新渲染視圖,您可以從render(). DOM 不會(huì)更新。
我的情況:我有一個(gè)不應(yīng)該渲染任何內(nèi)容的下載方法。
public function download()
{
$this->skipRender();
}
public function render()
{
if($this->shouldSkipRender) {
return '';
}
return view("xxxxx");
}
只要我沒(méi)有遺漏任何東西,這對(duì)我有用。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
這就是 Livewire 的工作原理。每當(dāng)您更改任何內(nèi)容/觸發(fā)任何事件時(shí)。該組件將刷新。據(jù)我所知,livewire 沒(méi)有辦法阻止它,除非你將 die() 放在 showPOstAddedMessage 函數(shù)中,這將是一種非常奇怪的解決方法。

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
對(duì)于現(xiàn)在遇到此問(wèn)題的任何人,Livewire 3 中的新功能可以解決此問(wèn)題。
Livewire 3Component具有skipRender()可以在執(zhí)行事件處理程序邏輯后調(diào)用的函數(shù)。
#[On('some_event')]
public function handleSomeEvent()
{
? ? -- event code here
? ? $this->skipRender();
}
順便說(shuō)一句,在文檔中,還有一個(gè)#[Renderless]屬性可以添加到方法中,以指示它們不應(yīng)導(dǎo)致組件重新渲染。#[On]但是,我發(fā)現(xiàn)這對(duì)也具有偵聽(tīng)事件屬性的方法沒(méi)有影響。
- 4 回答
- 0 關(guān)注
- 207 瀏覽
添加回答
舉報(bào)