【发布时间】:2021-07-23 00:16:36
【问题描述】:
我有以下带有 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 之间...
【问题讨论】:
-
这是所有刀片代码???
-
是的,这是一个由 Livewire 提供服务的blade.php 组件。
x-组件都包含一个简单的 HTML 结构,仅此而已。 -
刀片组件内的代码必须放到div容器中
标签: laravel laravel-8 laravel-livewire alpine.js