是否可以在md-select语句中截断所选项的文本,使其适合分配的空间? 我能得到的唯一一个行为就是始终显示所选项目的全文。
我在codepen上创建了一个我的问题示例:http://codepen.io/anon/pen/QymLwr
谢谢!
<html ng-app="playground">
<head>
<script src="//code.angularjs.org/1.4.8/angular.js"></script>
<script src="//code.angularjs.org/1.4.8/angular-animate.js"></script>
<script src="//code.angularjs.org/1.4.8/angular-aria.js"></script>
<script src="//code.angularjs.org/1.4.8/angular-messages.js"></script>
<script src="//rawgit.com/angular/bower-material/master/angular-material.js"></script>
<link rel="stylesheet" href="//rawgit.com/angular/bower-material/master/angular-material.css"></link>
</head>
<body layout-align="center center" layout="column" ng-app="demoApp" ng-controller="AppCtrl">
<md-select ng-model="name" style="width: 200px;" placeholder="Choose">
<md-option>This is a very long text that when selected flows outside of the available space and is not truncated</md-option>
<md-option>Option 2</md-option>
<md-option>Option 3</md-option>
</md-select>
</body>
</html>
angular.module('playground', ['ngMaterial'])
.controller('AppCtrl', function($scope) {
});
答案 0 :(得分:2)
制作filter。
$过滤
在HTML模板绑定中
{{ filter_expression | filter : expression : comparator}}
在JavaScript中
$filter('filter')(array, expression, comparator)
15
个字符的标记:<md-option>{{myLongString | truncate:15}}</md-option>
truncate
过滤器:// Filter below found here: http://jsfiddle.net/tuyyx/
app.filter('truncate', function() {
return function(text, length, end) {
if (isNaN(length))
length = 10;
if (end === undefined)
end = "...";
if (text.length <= length || text.length - end.length <= length) {
return text;
} else {
return String(text).substring(0, length - end.length) + end;
}
};
});
答案 1 :(得分:1)
您可以在CSS中执行此操作。
md-option {
text-overflow: ellipsis;
}
答案 2 :(得分:1)
This worked for me just by using CSS
.customTruncatedText {
overflow: hidden;
text-overflow: ellipsis;
}
答案 3 :(得分:0)
https://github.com/angular/material/issues/6312已经证明了一个错误 此处还描述了一种适用于我的解决方法,即以下CSS:
.md-select-value *:first-child {
width: calc(100% - 24px);
}
有关更新的代码集,请参阅http://codepen.io/anon/pen/GodRXP。