2016-08-23 4 views
0

Я хочу, чтобы ограничить некоторые фиксированные метки, то после того, как он не в состоянии добавить новые тегУгловые нг-tag- вход Макс-тег не работает

<tags-input ng-model="searchTerm" 
      display-property="Name" 
      add-from-autocomplete-only="true" 
      replace-spaces-with-dashes='false' 
      max-tags='4' 
     placeholder="Search option" 
      > 
    <auto-complete source="loadTags($query)" min-length='3'></auto-complete> 

я добавил нг-теги ввод JS, а также делать все Необходимые изменения в чем проблема для max tag?

+1

поведения 'Макс-tags' умолчанию является изменение нг-модели в' invalid' состояния и добавить 'нг-invalid' класса вход, если вы хотите ограничить ввод пользователем нового тега, создайте для него 'custom directive', потому что эта функция еще не создана https://github.com/mbenford/ngTagsInput/issues/210 –

ответ

0

использовать собственную директиву

app.directive('enforceMaxTags', function() { 
     return { 
      require: 'ngModel', 
      link: function(scope, element, attrs, ngModelCtrl) { 

       var maxTags = attrs.maxTags ? parseInt(attrs.maxTags, '10') : null; 

       ngModelCtrl.$validators.checkLength = function(value) { 

        if (value && maxTags && value.length > maxTags) { 
         value.splice(value.length - 1, 1); 
        } 
        return value ? value : []; 
       }; 
      } 
     }; 
    }); 

https://github.com/mbenford/ngTagsInput/issues/210 раствором из