0

我想限制一些固定标签,然后在它无法添加新标签之后

<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 标签有什么问题?

4

1 回答 1

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的解决方案

于 2017-07-19T11:18:45.897 回答