角度材料中的重复项拖放

时间:2019-10-15 11:09:14

标签: angular angular-material angular-material-8

棱角材料中是否有某种方法可以防止下拉列表中出现重复项? 这是示例代码

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

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

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用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);
    }

working demo