首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向ExtJS滑翔机控件的两端添加标签?

问如何向ExtJS滑翔机控件的两端添加标签?
EN

Stack Overflow用户
提问于 2012-05-04 00:01:12
回答 1查看 4.7K关注 0票数 5

我正在使用ExtJS 3.3,但这也可能与其他版本相关。

我在基于ExtJS的UI中使用Slider控件。我设置了一个工具提示,在拖动它时显示它的值,如这里的"Slider“示例:http://dev.sencha.com/deploy/ext-3.3.1/examples/slider/slider.html

在我看来,如果有一个滑块而不显示值是什么(在这种情况下,直到您开始滑动它),UX似乎是非常糟糕的。我想添加标签到任何一端,以显示滑块所代表的范围。就像这样:

​

因此,当然,我想知道:是否可能与标准控件本身一起使用?(我查看了文档,但没有跳出任何东西)?或者有一个很好的方法来实现这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2012-05-10 10:59:56

这是我正要做的事:

代码语言:javascript
复制
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;'
    });

更新:

布局可以这样使用:

代码语言:javascript
复制
 config = config.apply({
     layout: 'column',
     defaults: {
         layout: 'form'
     },
     items: [
         this.timeSliderLabel,
            this.timeSlider,
            this.timeSliderHintLabel
     ]
 }, config)

其中,getThumbText是我用来获得正确标签值的助手方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10440978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档