Mat*_*Mat 10 html css3 angular-material angular
我在角度2项目中使用角度材料.我想在mat-select的选定值中放置一个静态图像(html元素).但我没有找到解决方案.
有人能帮我吗?
Cis*_*Got 21

当涉及到这种或类似的情况时,我这样做:
<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>
Run Code Online (Sandbox Code Playgroud)
当然,里面的标签<mat-select-trigger>和`可以是任何标签以及img,他们工作!
只需<img>在里面添加标签即可<mat-option>.对于所选选项,使用ngClass将图像设置为背景.您必须按选项使用一个类:
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>
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)