将提示文本动态添加到滑块

时间:2013-03-11 12:47:22

标签: javascript extjs extjs4 extjs4.1 extjs-mvc

在我的项目中,我试图将tip text(config)动态添加到滑块。怎么做? 我需要动态添加它,因为我在“Controller”中生成变量数组,它保存滑块的每个值的文本(用于提示文本)。

var slider = Ext.getCmp('slider')
slider.setTipText(arrayOfVariables)    //What should I do here instead?

在文档中没有像setTipText这样的方法。那我该怎么用?

修改

{
        xtype:'slider',
        animate: false,
        //plugins: [Ext.create('App.view.SliderOverride')],
        cls: 'sliderStyle',
        width: "80%",
        id: 'slider',
        value: 36/2, //must be current month
        //increment: 10,
        minValue: 1,
        maxValue: 36,
        useTips: true,          
        tipText: function(thumb){
            alert("hello");
            App.getController('TaskController')._arrMonthView[thumb.value].month;
        },
},

2 个答案:

答案 0 :(得分:0)

tipText需要一个函数配置,因此您可以添加一个将使用控制器变量的函数;

Ext.create('Ext.slider.Multi', {
    ....
     tipText: function(){
          return App.getController('your controller').yourVariable
     },
    .....
});

这是在创建滑块时添加的,因此您无需修改​​它,只需修改控制器中的变量。因此,您无需重新设置提示文本功能。

答案 1 :(得分:0)

我使用Ext.slider.Tip的getText方法解决了这个问题。

  

用于创建提示正文中显示的文本。默认情况下,这只返回Tip附加到的Slider Thumb的值。覆盖以自定义。

例如,在哪种情况下可以使用它,你可以看一下 link