4 回答
TA贡献2037条经验 获得超6个赞
我遇到过同样的问题。就我而言, render() 方法正在关闭我的父模式框。我刚刚在模态 div 中添加了“wire:ignore”。Livewire 每当调用 render() 方法时都会忽略该 div
TA贡献1794条经验 获得超8个赞
我遇到了这种黑客:如果您关心的是不重新渲染视图,您可以从render(). DOM 不会更新。
我的情况:我有一个不应该渲染任何内容的下载方法。
public function download()
{
$this->skipRender();
}
public function render()
{
if($this->shouldSkipRender) {
return '';
}
return view("xxxxx");
}
只要我没有遗漏任何东西,这对我有用。
TA贡献1797条经验 获得超4个赞
这就是 Livewire 的工作原理。每当您更改任何内容/触发任何事件时。该组件将刷新。据我所知,livewire 没有办法阻止它,除非你将 die() 放在 showPOstAddedMessage 函数中,这将是一种非常奇怪的解决方法。
TA贡献1877条经验 获得超6个赞
对于现在遇到此问题的任何人,Livewire 3 中的新功能可以解决此问题。
Livewire 3Component具有skipRender()可以在执行事件处理程序逻辑后调用的函数。
#[On('some_event')]
public function handleSomeEvent()
{
-- event code here
$this->skipRender();
}
顺便说一句,在文档中,还有一个#[Renderless]属性可以添加到方法中,以指示它们不应导致组件重新渲染。#[On]但是,我发现这对也具有侦听事件属性的方法没有影响。
- 4 回答
- 0 关注
- 138 浏览
添加回答
举报