首页 > 解决方案 > 应该如何设置 livewire 加载目标?

问题描述

在 livewire 刀片文件中,我有以下代码:

<div wire:loading.remove wire:target="runAudit" >
  Not running audit
</div>
<div wire:loading wire:target="runAudit">
  running audit
</div>

<button wire:click.prevent ="$emit('runAudit', {{ $item }})"  title='Run Audit'><i class="fas fa-play"></i></button>

控制器很简单:

class Audit extends Component
{
    protected $listeners = ['runAudit'];      
    public $item;


    public function runAudit(Item $item)
    {        
        sleep(2);
        $this->item = $item;
        dump($item);
    }

    public function render()
    {       
        return view('livewire.audit-list');
    }
}

如果我删除wire:target="runAudit"代码可以按需要工作 - 但我希望那里的目标阻止它在其他操作上执行。有了它,页面不会按预期更新。

我错过了什么吗?

标签: laravellaravel-livewire

解决方案


wire:target="runAudit"应该只在带有 的元素中添加wire:loading,从带有 的元素中删除wire:loading.remove


推荐阅读