当我尝试从md-select中选择多个值时生成md-chips,它无效。 md-chips是否仅适用于自动完成分析器和输入字段?
<md-chips ng-model="launchAPIQueryParams.type">
<md-select name="launchCalType" ng-model="launchAPIQueryParams.type"
multiple="true" placeholder="Launch Type"
md-on-close='applylaunchFilter("type")'>
<md-option ng-repeat="typeOption in launchTypeOptions" ng-value="typeOption[1]">
{{typeOption[0]}}
</md-option>
</md-select>
</md-chips>
答案 0 :(得分:7)
答案简短:不。
<md-chips>
组件只会将<input>
或<md-autocomplete>
放入其转化的上下文中。
但是,使用md-autocompelet
可以实现同样的目的。
密钥在md-min-length
上设置为<md-autocomplete>
为0,因此它会自动显示菜单,就像<md-select>
菜单一样。
这是一个例子:
// controller.js
angular
.moduel('mdChipsDemo', [])
.controller('MdChipsDemoCtrl', function() {
var vm = this;
vm.selectedOption = '';
vm.searchText = '';
vm.launchAPIQueryParams = {
types: [],
};
vm.launchTypeOptions = [
{name: 'Op1', value: 1},
{name: 'Op2', value: 2},
{name: 'Op3', value: 3},
{name: 'Op4', value: 4},
];
});
// template.html
<div ng-app="mdChipsDemo" ng-controller="MdChipsDemoCtrl as vm">
<md-chips ng-model="vm.launchAPIQueryParams.types">
<md-autocomplete
md-selected-item="vm.selectedOption"
md-search-text="vm.searchText"
md-items="typeOption in vm.launchTypeOptions"
md-item-text="typeOption.name"
md-min-length="0"
placeholder="Search for a launchTypeOptions">
<span md-highlight-text="vm.searchText">{{typeOption.name}}</span>
</md-autocomplete>
<md-chip-template>
<span>{{$chip.name}}</span>
</md-chip-template>
</md-chips>
</div>
如果您的最终目标是拥有多项选择功能,<md-autocomplete>
也会<md-item-template>
公开<md-select>
,您可以将<select>
放入。检查doc for md-autocomplete,您会看到。
或者,如果您真的坚持使用md-chips-select
,那么npm调用{{1}}上的第三方组件可以满足您的需求。
https://www.npmjs.com/package/md-chips-select