【问题标题】:Weird bug with AlpingJS and LivewireAlpingJS 和 Livewire 的奇怪错误
【发布时间】: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 进行了测试,但也使用了adiv。为了清楚起见,我将其设为 span

SECOND 项始终执行fourthAction。 如果我注释掉 FOURTH 项,SECOND 开始工作。

如果我将第四项更改为 &lt;span&gt;&lt;/span&gt;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


【解决方案1】:

您必须将 wire:key="$loop-&gt;index" 添加到行中,以便 livewire 识别行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    相关资源
    最近更新 更多