我正在使用角度材质,我想使用md-select但是使用images / svg;我正在使用md-option和ng-repeat,并且选项列表有效,但是当我选择某些内容时,我会看到文本。
可行吗?
由于
<md-select ng-model="mkt.bookmaker" placeholder="Select a bookmaker">
<md-option ng-value="opt" ng-repeat="opt in mkt.selected.matchInfo.bookmakers">
<md-icon md-svg-src="{{ opt.logo }}"></md-icon>{{ opt.name }}
</md-option>
</md-select>
&#13;
这里有一些截图:
答案 0 :(得分:10)
我找到了一种在angular material github
中使用md-select的好方法Here使用解决方案的plunker,并在预览下方。
<强>控制器:强>
var app = angular.module('DemoApp', ['ngMaterial']);
app.controller('MainCtrl', function($scope) {
$scope.options = [
{
name: 'Rome',
size: '200€',
image: 'http://lorempixel.com/120/60/cats/'
},
{
name: 'Naples',
size: '230€',
image: 'http://lorempixel.com/120/60/food/'
}
];
$scope.currOption = $scope.options[1];
$scope.updateData = function(){
$scope.options = [
{
name: 'London',
size: '400€',
image: 'http://lorempixel.com/60/60/abstract/'
},
{
name: 'Paris',
size: '900€',
image: 'http://lorempixel.com/60/60/nature/'
},
{
name: 'Rome',
size: '200€',
image: 'http://lorempixel.com/60/60/sport/'
},
{
name: 'Naples',
size: '230€',
image: 'http://lorempixel.com/60/60'
}
];
$scope.currOption = $scope.options[1];
}
});
我的Html:
<md-select data-ng-model="currOption">
<md-select-label><img src="{{ currOption.image }}" /></md-select-label>
<md-option data-ng-value="opt" data-ng-repeat="opt in options"><img src="{{ opt.image }}" /></md-option>
</md-select>
答案 1 :(得分:3)
对于Angular 2+,您可以使用<mat-select-trigger>
下面的<mat-select>
和所选对象的路径<img src="{{ selected.image }}"> {{ selected.name }}