单击某个元素时,我手动触发选择项目。只要我的铁列表上有selection-enabled multi-selection
个属性,这就可以正常工作。但是,我想删除它们,因为相关的事件处理程序(选择点击)会干扰我的。当我这样做时,我得到polymer.html:3942 Uncaught TypeError: userArray.slice is not a function
某些记录显示_itemsChanged
正在执行此操作
Polymer.Collection.get(this.items)
期望链中的所有项目的数组,但只是将所选项目作为对象。所以我发现了问题,但我不知道为什么会发生这种情况或者如何解决它。
它看起来像selection-enabled
这样的代码只是添加处理程序。这是一个错误的假设吗?是否总是需要做选择?我的功能可能有问题吗?
这是我的select函数,改编自this post's jsbin中的_selectItem
函数:
toggleSelect: function(e) {
this.$.itemsList.toggleSelectionForItem(e.model.item);
},
我道歉,因为这个问题有点匆忙。我稍后会尝试提供一个小提琴。
答案 0 :(得分:1)
尝试更改selectedItem属性,而不是调用方法toggleSelectionForItem。从这个方法的描述看来,它与多选属性更相关。
答案 1 :(得分:0)
原始帖子中的代码是正确的,解决方案是使用multi-selection
但不使用selection-enabled
。
由于toggleSelectionForItem
似乎依赖于multi-selection
并且selection-enabled
触发了不需要的选择,因此我们只需删除selection-enabled
即可获得所需的行为。