Angular Material 2 - 自动完成中的自定义mat-option/md-option模板

Raf*_*ael 6 autocomplete angular-material angular

Angular Material 2是否有一个选择器来自定义md-item-templateAngularJS的Angular Material等自动完成选项?我在材料2 的文档中找不到任何内容

来自docs的 AngularJS示例:

<md-autocomplete
    <md-item-template>
      <span class="item-title">
        <md-icon md-svg-icon="img/icons/octicon-repo.svg"></md-icon>
        <span> {{item.name}} </span>
      </span>
      <span class="item-metadata">
        <span class="item-metastat">
          <strong>{{item.watchers}}</strong> watchers
        </span>
        <span class="item-metastat">
          <strong>{{item.forks}}</strong> forks
        </span>
      </span>
    </md-item-template>
</md-autocomplete>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

hbt*_*nki 6

我也在寻找正确的方法来做到这一点,就像良好的材料 1 一样。这是丑陋的黑客,我可以让它在材料 5 中工作:

风格:

.mat-option {
  height: 50px;
  line-height: 20px;
}
Run Code Online (Sandbox Code Playgroud)

模板:

<mat-autocomplete #auto="matAutocomplete">
    <mat-option *ngFor="let state of filteredStates | async" [value]="state.name">
    <!-- <img style="vertical-align:middle;" aria-hidden src="{{state.flag}}" height="25" /> -->
        <span>{{ state.name }}</span><br>
        <small>Population: {{state.population}}</small>         
    </mat-option>
</mat-autocomplete>
Run Code Online (Sandbox Code Playgroud)

在这里尝试一下


Ali*_*tun 5

带图片的两行mat-autocomplete解决方案

<form class="example-form">
  <mat-form-field class="example-full-width">
    <input matInput placeholder="State" aria-label="State" [matAutocomplete]="auto" [formControl]="stateCtrl">
    <mat-autocomplete #auto="matAutocomplete">
      <mat-option *ngFor="let state of filteredStates | async" [value]="state.name">
        <img style="vertical-align:middle;" aria-hidden src="{{state.flag}}" height="20" />
        <span>{{ state.name }}</span> <br>
        <small>Population: {{state.population}}</small>
      </mat-option>
    </mat-autocomplete>
  </mat-form-field>
</form>
Run Code Online (Sandbox Code Playgroud)
// CSS
.mat-option {
  height: 50px;
  line-height: 20px;
}
Run Code Online (Sandbox Code Playgroud)