2016-02-02 6 views
0

В настоящее время я использую директиву ngTagsInput для моей панели поиска. Тем не менее, у меня возникли проблемы с поиском путей для устранения результатов по выбору или предотвращения отображения тегов в панели поиска.ngTagsInput - как очистить результаты от выбора?

Это то, что я в настоящее время:

enter image description here

И это то, что я пытаюсь получить:

enter image description here

Я пытался писать директиву для обнаружения ввода ключа нажмите вниз, а затем используйте myEnter = $ ('tags-item'). remove(), чтобы попытаться удалить элемент при его создании, но он не только не работает, но и не идеален:

app.directive('myEnter', function() { 
    return function (scope, element, attrs) { 
     element.bind("keydown keypress", function (event) { 
      if(event.which === 13) { 
       scope.$apply(function(){ 
        scope.$eval(attrs.myEnter); 
       }); 

       event.preventDefault(); 
      } 
     }); 
    }; 
}); 
+0

, если вы не хотите тегов, почему вы используете этот компонент? – sdfacre

+0

Я хочу теги, но не внутри поля ввода. Я просто хочу, чтобы они вошли в div, который я указываю. – c0de

ответ

0

Я не знаю, почему вы используете этот компонент, пока вы действительно не хотите тегов.

В любом случае вам не нужна эта настраиваемая директива. on-tag-added может в значительной степени покрыть все, что вам нужно.

т.е., добавьте

on-tag-added="tagAdded($tag)" 

в контроллере

$scope.tagAdded = function(tag) { 
    //just do whatever you want on tag added, 
    //i.e. clear the ngmodel and add it to another array, etc. 
}; 
+0

Я хочу использовать функцию автоматического предложения компонентов и дотов. Вместо того, чтобы отображать доты в поле ввода, я хочу, чтобы они отображались в указанном div. – c0de

+0

, как я сказал вам в этом ответе, вы можете делать то, что вы хотите, в обратном вызове tagAdded. например, очистите ngModel, чтобы вы не увидели теги в окне поиска, затем добавьте тег в другой массив, который будет отображаться в указанном вами div. – sdfacre

+0

, что ответ не идеален, потому что если я использую автозаполнение, и я очищаю модель, тогда есть вероятность дублирования в указанном div. – c0de