Angular ng-tag-输入max-tag不起作用

时间:2016-08-23 09:15:32

标签: angularjs ng-tags-input

我想限制一些固定标签,然后才能添加新标签

<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>

我添加了ng-tag-input js并且还做了所有需要的更改max tag的问题是什么?     

1 个答案:

答案 0 :(得分: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

解决方案