Alpine JS 使用了错误的 id
Alpine JS using wrong id
我目前正在使用 Laravel Livewire 制作数据 table,并且我使用 AlphineJS 作为确认模式。一切正常,直到我分页到数据的下一页。所以这里 HTML 我的每一行的删除按钮 :
<a class="mx-1 text-lg" role="button" x-on:click.prevent="onDelete({{ $article->id }})">
<i class="fas fa-trash"></i>
<p x-text="{{ $article->id }}"></p>
</a>
这是 onDelete 的函数
onDelete(id){
console.log(id);
this.confirmationModal = true;
this.id = id;
},
这是当我尝试删除 ID 为 36 的文章时发生的情况,它将 console.log 文章的 ID 为 36
然后我导航到下一页并尝试删除 ID 为 46 的文章,但 console.log 仍然是 36,我期待 46
如何解决这个问题?
更改x-on:点击wire:click
<a class="mx-1 text-lg" role="button" wire:click="$emit('onTrashIcon',{{ $article->id }})">
<i class=" fas fa-trash"></i>
</a>
并添加监听函数 x-data + 不要忘记 x-init="listen()"
listen() {
window.livewire.on('onTrashIcon', articleId => {
this.id = articleId;
this.confirmationModal = true;
})
}
我目前正在使用 Laravel Livewire 制作数据 table,并且我使用 AlphineJS 作为确认模式。一切正常,直到我分页到数据的下一页。所以这里 HTML 我的每一行的删除按钮 :
<a class="mx-1 text-lg" role="button" x-on:click.prevent="onDelete({{ $article->id }})">
<i class="fas fa-trash"></i>
<p x-text="{{ $article->id }}"></p>
</a>
这是 onDelete 的函数
onDelete(id){
console.log(id);
this.confirmationModal = true;
this.id = id;
},
这是当我尝试删除 ID 为 36 的文章时发生的情况,它将 console.log 文章的 ID 为 36
然后我导航到下一页并尝试删除 ID 为 46 的文章,但 console.log 仍然是 36,我期待 46
如何解决这个问题?
更改x-on:点击wire:click
<a class="mx-1 text-lg" role="button" wire:click="$emit('onTrashIcon',{{ $article->id }})">
<i class=" fas fa-trash"></i>
</a>
并添加监听函数 x-data + 不要忘记 x-init="listen()"
listen() {
window.livewire.on('onTrashIcon', articleId => {
this.id = articleId;
this.confirmationModal = true;
})
}