md-select具有多个 - 限制所选择的显示量

时间:2016-06-13 09:57:44

标签: angularjs angular-material

当使用Angular Material md-select with multiple时,将显示所选的每个项目。我有一个显示县的多选择器,它们都应该被预选。 这导致列表包含30多个项目,对于页面设置看起来不太好。

任何可以限制选择后显示的选项的选项?

当你超过限制时,以某种方式可以显示md-select-text,在我的情况下是3或更多吗?

还有其他解决方案吗?

Link到几个代码集示例

1 个答案:

答案 0 :(得分:2)

没有直接实现此目的的方法,但您只想显示有限的文字帖子选择,您可以使用md-selected-text尝试以下内容。

<md-select ng-model="selected" placeholder="Pick" ng-change="onChange()" md-on-open="onOpen()" multiple md-selected-text="getSelectedText()">
<!-- OPTIONS -->
</md-select>

在JS中:

$scope.getSelectedText = function() {
    console.log($scope.selected);
    if ($scope.selected !== undefined) {
        var filtered=filterSelectedItems($scope.selected); //Filter the display string over here
        return filtered
} else {
    return "Please select an item";
}
}

selected模式下的ng-model multiple是一个数组。对它进行迭代并显示一个压缩字符串。 此外,您可以在其上放置工具提示以显示完整的选定项目。