ngTagsInput 在最大标签数后禁用输入
ngTagsInput disabled input after max tag number
我有一个问题,也许有人在你的应用程序中使用了 ngTagsInput
。
插入最大标签数量后是否有禁用输入的选项?
ngTagsInput
有一个 ngModel 接受标签数组,因此您可以使用 ngDisabled
禁用输入。
问题是如果您的输入被禁用,您将无法删除任何已经存在的标签并进一步编辑输入。我不建议这样做。
但是你有一些选择...
- 验证您拥有的标签数量
API docs状态,max-tags
属性用于验证输入中的最大标签数量,当超过限制时,验证状态将变为$invalid
,然后您可以阻止表单提交。
maxTags - number -
Sets maxTags validation error key if the number of tags added is greater than maxTags.
例如:
<tags-input ng-model="tags" max-tags="7">
<auto-complete source="loadTags($query)"></auto-complete>
</tags-input>
- 使用
on-tag-added
回调属性在用户超过允许的标签数量时进行捕获,并删除他输入的任何新标签而不使用验证标志
HTML:
<tags-input ng-model="tags"
on-tag-added="onTagAdded($query, 7)"></tags-input>
<p>Model: {{tags}}</p>
控制器:
$scope.onTagAdded = function(tag, limit) {
if ($scope.tags.length == limit+1) {
$scope.tags.pop();
}
}
在上面的例子中,我们限制标签数量为7。
我有一个问题,也许有人在你的应用程序中使用了 ngTagsInput
。
插入最大标签数量后是否有禁用输入的选项?
ngTagsInput
有一个 ngModel 接受标签数组,因此您可以使用 ngDisabled
禁用输入。
问题是如果您的输入被禁用,您将无法删除任何已经存在的标签并进一步编辑输入。我不建议这样做。
但是你有一些选择...
- 验证您拥有的标签数量
API docs状态,max-tags
属性用于验证输入中的最大标签数量,当超过限制时,验证状态将变为$invalid
,然后您可以阻止表单提交。
maxTags - number - Sets maxTags validation error key if the number of tags added is greater than maxTags.
例如:
<tags-input ng-model="tags" max-tags="7">
<auto-complete source="loadTags($query)"></auto-complete>
</tags-input>
- 使用
on-tag-added
回调属性在用户超过允许的标签数量时进行捕获,并删除他输入的任何新标签而不使用验证标志
HTML:
<tags-input ng-model="tags"
on-tag-added="onTagAdded($query, 7)"></tags-input>
<p>Model: {{tags}}</p>
控制器:
$scope.onTagAdded = function(tag, limit) {
if ($scope.tags.length == limit+1) {
$scope.tags.pop();
}
}
在上面的例子中,我们限制标签数量为7。