0

我尝试使用角度和使用标签输入进行自动完成。自动完成工作正常,但在发送我的表单之前,我想定义我的显示值和显示值的 id。

我的 JSON 文件:

 [
            {
                "active": true,
                "code": "IDV",
                "name": "Car destruct"
            },
            {
                "active": true,
                "code": "VCV",
                "name": "Vehicle road"
            }
]

网页:

<tag-input [(ngModel)]="folderCreate.sujet" name="sujet" 
                        [theme]="'bootstrap'" [placeholder]="'Ajouter un type'"
                        [onTextChangeDebounce]="500" 
                        [secondaryPlaceholder]="'Add un type'"
                        [onlyFromAutocomplete]="true"> 
                            <tag-input-dropdown [autocompleteObservable]="**requestAutocompleteItemsSujet**">
                                <ng-template let-item="item" let-index="index">
                                    {{item.display}}
                                </ng-template> 
                            </tag-input-dropdown> 
                    </tag-input>

我的 TS 文件:

public requestAutocompleteItemsSujet = (text: string): Observable<Response> => {
    return this.http
      .get('../../../assets/data/type.json')
      .map(data => data.json().map(item => item.name));
  }

因此,当我发送表格时,我得到:

0: Object 
    display : Car destruct
    value : Car destruct

但我想得到:

0: Object 
    display : Car destruct
    value : IDV

我该如何解决这个问题?

4

1 回答 1

0

我还没有运行你的 plunkr,但是查看你的代码,尝试删除 data.json() 之后的第二个 .map。

于 2017-06-20T17:34:01.223 回答