Livewire子组件刷新后冻结父组件



我有一个简单的ExpenseShow组件,它有一个子ExpenseForm组件。在ExpenseShow我有一个简单的更新按钮:

<x-cards. Button 
wire:click"$emitTo('expenses. Expense-form', 'editExpense', {{$expense->id}})"
>
Edit Expense
</x-cards. Button>
...
@livewire('expenses.expense-new-form')

单击该按钮将发出editExpense事件,该事件将打开一个模式,并且费用按预期更新。然后我从子组件(' ExpenseForm'上的更新方法)发射回$this->emitTo('expenses.expense-show', 'refreshComponent');,它冻结了我的页面(父组件在模态消失和数据库更新后)几秒钟。

然而,当我在刀片中的ExpenseShow组件上使用wire.poll时,一切都更新得很好,没有延迟。我只是觉得这太浪费了。我不需要服务器每2秒运行一次请求,这就是为什么我认为refreshComponent在这里更适用。什么好主意吗?我的ExpenseForm有几个下拉菜单,每个下拉菜单有数百个条目,但wire:poll没有延迟,它会不停地做。

感谢您的任何输入。Patryk .

编辑:这里有一个合理的答案。看起来他把答案删了。当我执行其中一个选项时,我打算将其标记为已回答。我希望那位好心的用户再次展示它。简而言之,他建议我通过wire: model绑定我的父组件和子组件,或者我使用livewire: loadinglivewire: on来取代我的on: clickemit…有人能填补空缺吗?不知道为什么他们的答案被删除了…

哇。当我写这篇文章时,Chrome和Edge浏览器都遇到了这两个问题。从那时起,Chrome已经更新,我能够达到我想要的结果每个livewire文档(刷新组件),不久之后,它看起来像微软边缘也在工作!

相关内容

  • 没有找到相关文章

最新更新