J'utilise angular matériel dans un projet angular 2 projet. Je veux mettre une image statique (élément html) dans la valeur sélectionnée de mat-select. Mais je n'ai pas trouvé de solution.
Est-ce que quelqu'un peut m'aider?
En ajoutant simplement <img>
tag à l'intérieur <mat-option>
. Pour l'option sélectionnée, utilisez ngClass
pour définir l'image comme arrière-plan. Vous devez utiliser une classe par option:
[~ # ~] html [~ # ~]
<mat-select [(value)]="selected" [ngClass]="selected">
<mat-option>None</mat-option>
<mat-option value="option1">Option 1
<img with="10" height="10" src="https://upload.wikimedia.org/wikipedia/commons/f/f9/Phoenicopterus_ruber_in_S%C3%A3o_Paulo_Zoo.jpg">
</mat-option>
<mat-option value="option2">Option 2
<img with="10" height="10" src="https://raw.githubusercontent.com/mdn/learning-area/master/html/multimedia-and-embedding/images-in-html/dinosaur_small.jpg">
</mat-option>
<mat-option value="option3">Option 3</mat-option>
</mat-select>
CSS:
.option1{
background: url("https://upload.wikimedia.org/wikipedia/commons/f/f9/Phoenicopterus_ruber_in_S%C3%A3o_Paulo_Zoo.jpg") center / contain no-repeat;
white-space: nowrap
}
.option2{
background: url("https://raw.githubusercontent.com/mdn/learning-area/master/html/multimedia-and-embedding/images-in-html/dinosaur_small.jpg") center / contain no-repeat;
white-space: nowrap;
display:inline
}
en ce qui concerne cette situation ou une situation similaire, je l'ai fait que:
<mat-form-field>
<mat-select [(value)]="selectedLanguage">
<mat-select-trigger>
<span class="flag-icon flag-icon-{{ selectedLanguage | lowercase}}"> </span>
</mat-select-trigger>
<mat-option *ngFor="let lang of Languages" [value]="lang">
<span class="flag-icon flag-icon-{{ lang | lowercase}}"></span>
</mat-option>
</mat-select>
</mat-form-field>
bien sûr, à l'intérieur des balises <mat-select-trigger>
et `peuvent être aussi des tags img, et ils fonctionnent !!