mbenford/ngTagsInput Несколько тегов без ключевого свойства
Я пытаюсь использовать директиву 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 (что-то очень похожее), но решения для этого нет. Это обходной путь, или я упускаю что-то очень глупое.
1 ответ
Решение
Есть свойство под названием 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>
SCRIPT
$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
}
};