如何使用list-formatter示例进行ng2-auto-complete?

时间:2017-02-13 16:39:14

标签: angular autocomplete typeahead

我正在尝试使用list-formatter功能进行ng2-auto-complete,但无法找到如何实现这一功能的好例子。到目前为止,我有以下代码:

<input class="form-control input-list" ng2-auto-complete
      [(ngModel)]="model4"
      placeholder="Search"
      [source]="googleGeoCode"
      list-formatter="myListFormatter"
      path-to-data=""
      value-property-name=null
      display-property-name=null
      min-chars="2"
      />

export class HomeComponent {

  templateStr: any = templateStr;
  valuePropertyName: string;
  displayPropertyName: string;

  googleGeoCode: string = "http://localhost:61227/machine/?query=:keyword";

  myListFormatter(data: any): string {
        let html: string = "";
        html += data[this.valuePropertyName] ? `<b>(${data[this.valuePropertyName]})</b>` : "";
        html += data[this.displayPropertyName] ? `<span>${data[this.displayPropertyName]}</span>` : data;
        return html;
      }

 }

那么,我怎样才能让list-formatter工作?

1 个答案:

答案 0 :(得分:6)

list-formatter属性名必须在括号内,如下所示:

[list-formatter]="myListFormatter"

你的函数中的this.valuePropertyName也不会得到认可。你必须在引号内放入数据对象的键。

我认为默认设置是&#39; id&#39;和&#39;价值&#39;。试试data['id']data['value']