为什么数组元素在映射时被视为代理引发错误?
Why array element is treated as proxy as raise error when mapping it?
在 Laravel 8 / livewire 2.5 / alpinejs 3 应用程序中,我为数据列表制作了上下文菜单
为了在服务器端仅显示 1 个上下文菜单,我在服务器端数组上进行了排序:
foreach( $this->newsDataRows as $nextNewsDataRow ) {
$this->selectedNews[$nextNewsDataRow->id] = false;
}
在 blade 文件中:
selectedNews: @json($selectedNews),
上下文菜单的条件:
<div class="show_context_menu_container" x-show="selectedNews[{{$news->id}}]"
Problem is that when context menu is selected and operation completed I trigger event to set all elements of
selectedNews 变为 false :
window.addEventListener('hideAllSelectedNewsItems', event => {
console.log('hideAllSelectedNewsItems::')
console.log( this.selectedNews )
this.selectedNews.map((nextSelectedNews, index) => {
console.log('nextSelectedNews::')
console.log(nextSelectedNews)
this.selectedNews[index]= false
})
})
但是我得到了错误:https://prnt.sc/YKDvN_MfbYBN
我想知道为什么 this.selectedNews 被视为代理以及可以通过哪种方式修复它?
谢谢!
我找到了一个入口方法的决定,将代理对象转换为数组
selectedNews = Object.entries(this.selectedNews)
this.selectedNews = []
var self = this
selectedNews.map((nextSelectedNews, index) => {
console.log('nextSelectedNews::')
console.log(nextSelectedNews)
...
})
不确定这是不是最好的决定,但它对我有用。
在 Laravel 8 / livewire 2.5 / alpinejs 3 应用程序中,我为数据列表制作了上下文菜单 为了在服务器端仅显示 1 个上下文菜单,我在服务器端数组上进行了排序:
foreach( $this->newsDataRows as $nextNewsDataRow ) {
$this->selectedNews[$nextNewsDataRow->id] = false;
}
在 blade 文件中:
selectedNews: @json($selectedNews),
上下文菜单的条件:
<div class="show_context_menu_container" x-show="selectedNews[{{$news->id}}]"
Problem is that when context menu is selected and operation completed I trigger event to set all elements of selectedNews 变为 false :
window.addEventListener('hideAllSelectedNewsItems', event => {
console.log('hideAllSelectedNewsItems::')
console.log( this.selectedNews )
this.selectedNews.map((nextSelectedNews, index) => {
console.log('nextSelectedNews::')
console.log(nextSelectedNews)
this.selectedNews[index]= false
})
})
但是我得到了错误:https://prnt.sc/YKDvN_MfbYBN 我想知道为什么 this.selectedNews 被视为代理以及可以通过哪种方式修复它?
谢谢!
我找到了一个入口方法的决定,将代理对象转换为数组
selectedNews = Object.entries(this.selectedNews)
this.selectedNews = []
var self = this
selectedNews.map((nextSelectedNews, index) => {
console.log('nextSelectedNews::')
console.log(nextSelectedNews)
...
})
不确定这是不是最好的决定,但它对我有用。