我正在尝试在 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 的接触芯片,但我仍然想知道如何实现模糊。