mbenford/ngTagsInput 没有键的多个标签 属性
mbenford/ngTagsInput Multiple tags without key property
我正在尝试使用 mbenford/ngTagsInput 指令,如下所示
<tags-input name="skill" ng-model="storage.skills" placeholder="specializations"
min-tags="1" add-on-enter="true" min-length="1" key-property="id" display-property="name" required>
<auto-complete source="getSkillSearch($query)" highlight-matched-text="true" min-length="1"></auto-complete>
</tags-input>
在这里,如果你看到我将键 属性 设置为 id,当我添加新标签(没有键 属性)时,指令不允许我这样做不止一次。
https://github.com/mbenford/ngTagsInput/issues/509(非常相似的东西),但没有解决办法。是他们的解决方法还是我遗漏了一些非常愚蠢的东西。
有个叫onTagAdding
的属性。提供一个函数,在添加时为标签创建一个 id
。这是一个例子:
HTML
<tags-input name="skill" ng-model="storage.skills" placeholder="specializations"
min-tags="1" add-on-enter="true" min-length="1" key-property="id" display-property="name" on-tag-adding="createId($tag)" required>
<auto-complete source="getSkillSearch($query)" highlight-matched-text="true" min-length="1"></auto-complete>
</tags-input>
脚本
$scope.createId= function(tag) {
// Only do this if tag.id is undefined
if(angular.isUndefined(tag.id) {
tag.id= tag.name; // or create a random value
}
};
我正在尝试使用 mbenford/ngTagsInput 指令,如下所示
<tags-input name="skill" ng-model="storage.skills" placeholder="specializations"
min-tags="1" add-on-enter="true" min-length="1" key-property="id" display-property="name" required>
<auto-complete source="getSkillSearch($query)" highlight-matched-text="true" min-length="1"></auto-complete>
</tags-input>
在这里,如果你看到我将键 属性 设置为 id,当我添加新标签(没有键 属性)时,指令不允许我这样做不止一次。
https://github.com/mbenford/ngTagsInput/issues/509(非常相似的东西),但没有解决办法。是他们的解决方法还是我遗漏了一些非常愚蠢的东西。
有个叫onTagAdding
的属性。提供一个函数,在添加时为标签创建一个 id
。这是一个例子:
HTML
<tags-input name="skill" ng-model="storage.skills" placeholder="specializations"
min-tags="1" add-on-enter="true" min-length="1" key-property="id" display-property="name" on-tag-adding="createId($tag)" required>
<auto-complete source="getSkillSearch($query)" highlight-matched-text="true" min-length="1"></auto-complete>
</tags-input>
脚本
$scope.createId= function(tag) {
// Only do this if tag.id is undefined
if(angular.isUndefined(tag.id) {
tag.id= tag.name; // or create a random value
}
};