1

I am using ngTagsInput directive with auto-complete. Everything works fine if i dont have two tags with same "tag_token" property.

This is my response that i get:

{ "id": "100", "create_date": "2016-02-01T18:33:39Z", "tag_token": "Tag 1", "parent_id": "1", "parent_type": "FILE" }, { "id": "101", "create_date": "2016-02-01T18:33:39Z", "tag_token": "Tag 2", "parent_id": "2", "parent_type": "FILE" }, { "id": "102", "create_date_tdt": "2016-02-01T18:33:39Z", "tag_token": "Tag 2", "parent_id": "3", "parent_type": "FILE" } 

VIEW

 <tags-input ng-model="searchQuery" display-property="tag_token" key-property="tag_token" on-tag-adding="checkTag($tag)" on-tag-removed="onTagRemoved($tag)" replace-spaces-with-dashes="false" add-from-autocomplete-only="true" > <auto-complete min-length="1" max-results-to-show="10" source="typeahead($query)"></auto-complete> </tags-input> 

I am getting this error:

Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: item in suggestionList.items track by track(item), Duplicate key: Tag 2, Duplicate value: {"tag_token":"Tag 2"} http://errors.angularjs...... at angular.js:68 at ngRepeatAction (angular.js:27518) at Object.$watchCollectionAction [as fn] (angular.js:15761) at Scope.$digest (angular.js:15896) at Scope.$apply (angular.js:16160) at done (angular.js:10589) at completeRequest (angular.js:10787) at XMLHttpRequest.requestLoaded (angular.js:10728) 

3 Answers 3

3

Use key-property="id". Here is demo

e.g.

<tags-input ng-model="searchQuery" display-property="tag_token" key-property="id" replace-spaces-with-dashes="false" ... ... 
Sign up to request clarification or add additional context in comments.

Comments

0

On the tags input try key-property="tag_token track by $index"

1 Comment

Well i try this also... but no success again same error .... Duplicate value: {"tag_token track by $index":"Tag 2"}
0

use key-property="id" display-property="tag_token"

Syntax : if you have this type of json

 [ { name:"Rohit", id:"2" }, { name:"Virat", id:"2" } ] 

then use key-property="id" display-property="name"

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.