1

有角材料有什么方法可以防止下拉列表中的重复项目吗?这是示例代码

https://stackblitz.com/edit/angular-xjex4y-43l7uh

我尝试检查该项目是否已存在于数组中,event.currentIndex但这是不正确的,因为有时我得到了错误的值。

event.container.data.included(event.container.data[event.currentIndex])

在stackblitz中我需要使用.indexOf() insead od .included(),因为有些东西不起作用

4

1 回答 1

2

您可以使用检查当前项目previousIndex 并检查项目是否已经存在或不存在,然后返回

 {
      let idx=event.container.data.indexOf(event.previousContainer.data[event.previousIndex]);
      if(idx != -1){
        return;//if item exist
      }
      copyArrayItem(event.previousContainer.data,
                        event.container.data,
                        event.previousIndex,
                        event.currentIndex);
    }

工作演示

于 2019-10-15T11:22:06.017 回答