AlpingJS 和 Livewire 的奇怪错误
2021-04-29
413
我使用 Livewire 制作了以下简单表格:
@foreach ($sms_lists as $sms_list)
<x-table.row>
@if($listForEdit && $listForEdit['id'] == $sms_list->id)
<x-table.cell>
<span wire:click="firstAction">FIRST</span>
<span wire:click="secondAction">SECOND</span>
</x-table.cell>
@else
<x-table.cell>
<span wire:click="thirdAction">THIRD</span>
<span wire:click="fourthAction">FOURTH</span>
</x-table.cell>
@endif
</x-table.row>
@endforeach
注意:对于下面描述的问题,我在此环境中主要使用
button
进行了测试,但也使用了
a
和
div
。我将其设为
span
只是为了清晰起见。
SECOND
项始终执行
fourthAction
。
如果我注释掉
FOURTH
项,
SECOND
就会开始工作。
如果我将第四项更改为
<span></span>
或
ANY
元素 -
SECOND
就会停止工作。
仅当
@else
只有一个
span
时,它才有效。我看到了
SECOND
的图标和文本,但不知何故所有属性都来自
FOURTH
...包括所有事件和
onclicks
等。
PS
:为 FOURTH 添加 ID 使其持续存在且永不隐藏,即使它的整个块隐藏在
@else
中,它也只会停留在 FIRST 和 SECOND 之间...
1个回答
您必须将
wire:key="$loop->index"
添加到行中,以便 livewire 识别行。
Santanu
2021-07-29