如何在angularjs materials silder中显示文本代替数字
我想要的是当你点击滑块,然后在它的工具提示上显示文本代替数字 代码如下: HTML:如何在angularjs materials silder中显示文本代替数字,angularjs,angular-material,Angularjs,Angular Material,我想要的是当你点击滑块,然后在它的工具提示上显示文本代替数字 代码如下: HTML: <div ng-controller="AppCtrl" class="sliderdemoBasicUsage" ng-app="MyApp"> <br> <br> <br> <br> <md-content style="margin: 16px; padding:16px"> <br>
<div ng-controller="AppCtrl" class="sliderdemoBasicUsage" ng-app="MyApp">
<br>
<br>
<br>
<br>
<md-content style="margin: 16px; padding:16px">
<br>
<br>
<md-slider flex class="md-primary" md-discrete ng-model="rating3" step="1" min="1" max="5" aria-label="rating">
</md-slider>
</md-content>
</div>
或者您可以参考以下链接,不幸的是,该功能不受支持,因为从技术上讲,它不是系统的一部分
对于李克特量表,你应该考虑。否则,您可以通过使用一个水平行的角材质来避开它。角材质不支持它 有关更多详细信息,请查看Angle material模块的slider.js
function SliderDirective($$rAF, $window, $mdAria, $mdUtil, $mdConstant, $mdTheming, $mdGesture, $parse, $log) {
return {
scope: {},
require: '?ngModel',
template:
'<div class="md-slider-wrapper">\
<div class="md-track-container">\
<div class="md-track"></div>\
<div class="md-track md-track-fill"></div>\
<div class="md-track-ticks"></div>\
</div>\
<div class="md-thumb-container">\
<div class="md-thumb"></div>\
<div class="md-focus-thumb"></div>\
<div class="md-focus-ring"></div>\
<div class="md-sign">\
<span class="md-thumb-text"></span>\
</div>\
<div class="md-disabled-thumb"></div>\
</div>\
</div>',
compile: compile
};
您可以像这样修改函数的内容
var _values = ["very low", "low", "average", "good", "best"];
thumbText.text( _values[ngModelCtrl.$viewValue] );
渲染文本而不是整数值。Angualar材质目前不支持此功能。您可以通过编写自己的逻辑或创建自己的滑块来执行此操作 Material2团队已经发现了这个问题,可能很快就会找到解决方案。
最后,在将angular.js更新为angular后,angular Material为角度滑块提供了自定义拇指标签格式的选项
import {Component} from '@angular/core';
/**
* @title Slider with custom thumb label formatting.
*/
@Component({
selector: 'slider-formatting-example',
templateUrl: 'slider-formatting-example.html',
styleUrls: ['slider-formatting-example.css'],
})
export class SliderFormattingExample {
formatLabel(value: number | null) {
if (!value) {
return 0;
}
if(value < 250)
{
return 'Low';
}
else if(value > 250 && value < 750)
{
return 'Medium';
}
else
{
return 'High';
}
return value;
}
}
从'@angular/core'导入{Component};
/**
*@具有自定义拇指标签格式的标题滑块。
*/
@组成部分({
选择器:“滑块格式示例”,
templateUrl:“滑块格式示例.html”,
样式URL:['slider-formatting-example.css'],
})
导出类slidePerformAttingExample{
formatLabel(值:number | null){
如果(!值){
返回0;
}
如果(值<250)
{
返回“低”;
}
否则,如果(值>250&&值<750)
{
返回“中等”;
}
其他的
{
返回“高”;
}
返回值;
}
}
Html代码:
<mat-slider
thumbLabel
[displayWith]="formatLabel"
tickInterval="1000"
min="1"
max="100000"></mat-slider>
注意:我将我的应用程序从angular.js更新为angular的最新版本
你能分享一下代码吗?你可以在这里找到。刚刚创建了一个简单的滑块,还在搜索如何用文本@AnkurTiwari覆盖数字。我在你的代码笔中找不到任何滑块。我看到的只是一个约会挑选者。你能再看一下吗。谢谢,没有棱角,这行得通吗?以jQuery为例?
<span class="md-thumb-text"></span>
function postLink(scope, element, attr, ngModelCtrl){
}
var _values = ["very low", "low", "average", "good", "best"];
thumbText.text( _values[ngModelCtrl.$viewValue] );
import {Component} from '@angular/core';
/**
* @title Slider with custom thumb label formatting.
*/
@Component({
selector: 'slider-formatting-example',
templateUrl: 'slider-formatting-example.html',
styleUrls: ['slider-formatting-example.css'],
})
export class SliderFormattingExample {
formatLabel(value: number | null) {
if (!value) {
return 0;
}
if(value < 250)
{
return 'Low';
}
else if(value > 250 && value < 750)
{
return 'Medium';
}
else
{
return 'High';
}
return value;
}
}
<mat-slider
thumbLabel
[displayWith]="formatLabel"
tickInterval="1000"
min="1"
max="100000"></mat-slider>