Ember-Drag-Sort:"handle" 选择器的使用导致未定义的 dragEnd 参数传递
Ember-Drag-Sort: Usage of "handle" selector results in dragEnd params being passed undefined
每当我将 class 选择器分配给 "handle" 选择器并拖动时,所有传递给 DragEndAction 的参数都是未定义的
下面的代码
= drag-sort-list [
items=sortedSections
group='sections'
dragEndAction=(action 'dragEnd')
handle=".drag-handle"
] as | item |
处理代码:
i.material-icons.drag-handle draggable="true"
| drag_indicator
导致此错误:
console_error
*注意我使用的是徽章模板语法
对于其他上下文,这是我的 dragEnd 动作的样子:
dragEnd({ sourceList, sourceIndex, targetList, targetIndex }) {
console.log(sourceList, sourceIndex, targetList, targetIndex);
if (sourceList === targetList && sourceIndex === targetIndex) return;
const item = sourceList.objectAt(sourceIndex)
sourceList.removeAt(sourceIndex);
targetList.insertAt(targetIndex, item)
当我取下手柄选择器时一切正常,不确定发生了什么。
它应该是这样工作的:
{{#drag-sort-list
items = items
handle = ".handle"
dragEndAction = (action 'dragEnd')
as |item|
}}
<span class="handle" draggable=true>
[handle]
</span>
{{item.name}}
{{/drag-sort-list}}
我已经检查过代码,handle
参数根本不涉及调用操作,并且不可能使用每个参数调用操作作为 undefined
。
我敢打赌,您搞砸了 Emblem 并为操作提供了额外的参数,例如。 G。 (action 'dragEnd' 'foo')
而不是 (action 'dragEnd')
.
您可以在操作中通过 console.log(arguments)
检查是否属于这种情况。通常 arguments
应该包含一个散列项。
如果这没有帮助,请提供您问题的再现演示,我会更新我的答案。
更新问题后,请务必回复我的回答并发表评论,以便我收到通知。
每当我将 class 选择器分配给 "handle" 选择器并拖动时,所有传递给 DragEndAction 的参数都是未定义的
下面的代码 = drag-sort-list [
items=sortedSections
group='sections'
dragEndAction=(action 'dragEnd')
handle=".drag-handle"
] as | item |
处理代码:
i.material-icons.drag-handle draggable="true"
| drag_indicator
导致此错误: console_error *注意我使用的是徽章模板语法
对于其他上下文,这是我的 dragEnd 动作的样子:
dragEnd({ sourceList, sourceIndex, targetList, targetIndex }) {
console.log(sourceList, sourceIndex, targetList, targetIndex);
if (sourceList === targetList && sourceIndex === targetIndex) return;
const item = sourceList.objectAt(sourceIndex)
sourceList.removeAt(sourceIndex);
targetList.insertAt(targetIndex, item)
当我取下手柄选择器时一切正常,不确定发生了什么。
它应该是这样工作的:
{{#drag-sort-list
items = items
handle = ".handle"
dragEndAction = (action 'dragEnd')
as |item|
}}
<span class="handle" draggable=true>
[handle]
</span>
{{item.name}}
{{/drag-sort-list}}
我已经检查过代码,handle
参数根本不涉及调用操作,并且不可能使用每个参数调用操作作为 undefined
。
我敢打赌,您搞砸了 Emblem 并为操作提供了额外的参数,例如。 G。 (action 'dragEnd' 'foo')
而不是 (action 'dragEnd')
.
您可以在操作中通过 console.log(arguments)
检查是否属于这种情况。通常 arguments
应该包含一个散列项。
如果这没有帮助,请提供您问题的再现演示,我会更新我的答案。
更新问题后,请务必回复我的回答并发表评论,以便我收到通知。