2013-03-11 48 views
0

在我的項目中,我試圖將tip text(config)動態添加到滑塊。怎麼做? 我需要動態添加它,因爲我在「控制器」中生成變量數組,該控制器爲滑塊的每個值(用於提示文本)保存文本。將提示文字動態添加到滑塊

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; 
     }, 
}, 

回答

0

我通過使用Ext.slider.Tip的getText方法解決了這個問題。

Used to create the text that appears in the Tip's body. By default this just returns the value of the Slider Thumb that the Tip is attached to. Override to customize.

例如,在何種情況下可以使用,你看看這個link

0

tipText需要的功能配置,因此您可以添加將使用的變量從控制器的功能;

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

這是在創建滑塊時添加的,因此您不需要修改它,只需在控制器中對其進行修改即可。所以你不需要重新設置提示文字功能。

+0

我嘗試這樣做。我得到錯誤'Uncaught TypeError:Object# has'method'getController''。我用我分配的'name'替換了'App'。 – 2013-03-12 05:24:08

+0

當然,應用程序是您的應用程序對象。 – nscrob 2013-03-12 07:27:55

+0

對不起,我無法理解。我分配的名稱空間是'App'。仍然不起作用。 – 2013-03-12 07:29:33