2017-04-14 70 views
0

我是angularJS的新手。我正在使用md-chips创建基于下拉选择的芯片。对于移动视图,我想通过点击芯片来删除md芯片,而不是让用户点击芯片上的小'X'。如果我让它只读,我不能删除芯片。任何想法赞赏。谢谢。通过点击芯片删除md-chips

HTML:

  <div ng-repeat="filter in sc.filters"> 
       <md-chips ng-model="filter.value" ng-if="sc.isArray(filter.value)" md-on-remove="sc.filter()"> 
        </md-chips> 
      </div> 
+0

显示控制器代码 – Gaurav

回答

2

您可以使用md-on-select="ctrl.remove($chip)"回调,其中$chip包含已经被点击了NG-模式数组的元素。在remove函数中,你可以从数组中删除该元素。根据你的例子,就是想就像如下:

$scope.remove = function($chip) { 
    var idx = self.fruitNames.indexOf($chip) 
    $scope.filters.splice(idx, 1) 
} 

一个工作小提琴可以在这里找到:jsFiddle

+0

谢谢!奇迹般有效 :) – nash63