2017-02-12 2 views
3

В настоящее время я использую ng2-completer (https://github.com/oferh/ng2-completer) для углового 2 и стараюсь добавить в предложения, чтобы иметь полный ответ вместо того, чтобы иметь только одно значение.Реализация ng2-completer

Также, когда выбрано предположение, как этот метод назначен для обработки этого?

код у меня до сих пор:

import { Component } from '@angular/core'; 
import { AutoComplete } from './autocomplete'; 
import { CompleterService, CompleterData, RemoteData } from 'ng2-completer'; 
import { SearchComponent } from './search.component'; 
import { QueryService } from './query.service'; 


@Component({ 
    selector: 'app-home', 
    template: `<ng2-completer [(ngModel)]="searchStr" [dataService]="dataService" [minSearchLength]="0" [inputClass]="['form-control input-list']" [autofocus]="['true']" [selected]="selected()"></ng2-completer>`, 
    //directives: [ AutoComplete ] 
}) 

export class HomeComponent { 

    public searchStr: string; 
    private dataService: CompleterData; 

    constructor(private completerService: CompleterService, private queryService: QueryService) { 
    //this.dataService = completerService.local(this.searchData, 'color', 'color'); 
    this.dataService = completerService.remote('http://localhost:61227/machine/?query=','ComputerHostname, AssetID', 'ComputerHostname').descriptionField('ComputerType'); 

//this.dataService = this.queryService.search(searchStr).then(items => this.items = items); 

} 

selected() { 

console.log("test"); 

} 
} 

Однако это показывает следующее сообщение об ошибке:

Невозможно привязать к «выбран», так как он не является известным свойством ' NG2-завершившим».

ответ

0

selected является событием и не является свойством, и для этого синтаксис для него (как описано в Angular template syntax) должно быть (selected)="selected($event)"

autofocus ожидает, что логическое значение (see in ng2-completer doc) не массив, так что вы должны использовать [autofocus]="true"