我正在使用自动完成的ngTagsInput指令。如果我没有两个具有相同“tag_token”属性的标签,那么一切正常。
这是我得到的答复:
{
"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"
}
查看
<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>
我收到此错误:
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)
答案 0 :(得分:1)
使用key-property="id"
。这是demo
e.g。
<tags-input
ng-model="searchQuery"
display-property="tag_token"
key-property="id"
replace-spaces-with-dashes="false"
...
...
答案 1 :(得分:0)
在标签输入上尝试key-property="tag_token track by $index"
答案 2 :(得分:0)
使用key-property="id" display-property="tag_token"
语法:如果你有这种类型的json
[
{
name:"Rohit",
id:"2"
},
{
name:"Virat",
id:"2"
}
]
然后使用key-property="id" display-property="name"