我使用的是ExtJS 3.3,但这也可能与其他版本相关.
我在基于ExtJS的UI中使用Slider控件.我有一个工具提示设置为在您拖动它时显示值,按照此处的"Slider with Tip"示例:http://dev.sencha.com/deploy/ext-3.3.1/examples/slider/slider. HTML
在我看来,如果有一个滑块没有指示值是什么(或在这种情况下,直到你开始滑动它)是非常差的用户体验.我想在任一端添加标签以显示滑块所代表的范围.像这样的东西:

所以,当然,我想知道:这可能与标准控制本身有关吗?(我查看了文档,但没有任何内容跳出来)?还是有一种巧妙的方法来实现这一目标?
这是我要做的:
var tip = new Ext.slider.Tip({
getThumbText: this.getThumbText,
getText: function (thumb) {
return '<b>' + this.getThumbText(thumb.value) + '<b>';
}
});
this.timeSliderLabel = new Ext.form.Label({
text: Nipendo.Localization.HistorySlider + ': ',
style: 'margin:3px 5px 0px 5px;'
});
this.timeSlider = new Ext.Slider({
width: 214,
value: 1,
increment: 1,
minValue: 1,
maxValue: 13,
plugins: tip
});
this.timeSlider.on('change', function (slider, newValue, thumb) {
this.timeSliderHintLabel.setText(this.getThumbText(thumb.value), false);
this.onSearchClick();
}, this);
this.timeSliderHintLabel = new Ext.form.Label({
html: String.format('(1 {0})', Nipendo.Localization.OneMonthBack),
style: 'margin:3px 5px 0px 5px;'
});
Run Code Online (Sandbox Code Playgroud)
更新:
布局可以这样使用:
config = config.apply({
layout: 'column',
defaults: {
layout: 'form'
},
items: [
this.timeSliderLabel,
this.timeSlider,
this.timeSliderHintLabel
]
}, config)
Run Code Online (Sandbox Code Playgroud)
其中 getThumbText 是我用来获取正确标签值的辅助方法。
| 归档时间: |
|
| 查看次数: |
4161 次 |
| 最近记录: |