1

我正在尝试在 Angular Material 中使用 md-autocomplete 作为多重选择器。这个想法是,从自动完成中选择的元素将在选择后添加到对象数组中,然后从 md-autocomplete 中删除选择。我能够清除 md-autocomplete,但焦点仍停留在 md-autocomplete 输入上,因此自动完成建议仍然可见。示例: http ://cdpn.io/QjQGVQ

代码:

function selectedItemChange(item) {
  $log.info('Item changed to ' + JSON.stringify(item));
  if(item)
  {
    //check if item is already selected
    if($filter('filter')(vm.contactsSelected, function (d) {return d.id === item.id;})[0])
      {
        $log.info('Item already selected. Will not add it again.');
      }
    else
      {
        //add id to object
        vm.contactsSelected.push(item);    
      }
    // clear search field
    vm.searchText = '';
    vm.selectedItem = undefined;

    //somehow blur the autocomplete focus
    //$mdAutocompleteCtrl.blur();
  }
}

PS:我知道我可以使用 Angular Material 的接触芯片,但我仍然想知道如何实现模糊。

4

1 回答 1

0

如果您在列表中设置 md-no-cache="true" 属性,列表将消失,但输入字段不会被清除。我认为比清除输入字段但让列表可见更好的解决方案,但这取决于你。

于 2016-07-03T16:27:15.147 回答