将提示文本动态添加到滑块
Posted
技术标签:
【中文标题】将提示文本动态添加到滑块【英文标题】:Add tip text dynamically to a slider 【发布时间】:2013-03-11 12:47:21 【问题描述】:在我的项目中,我试图将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;
,
,
【问题讨论】:
【参考方案1】:tipText 需要一个函数配置,因此您可以添加一个函数,该函数将使用来自控制器的变量;
Ext.create('Ext.slider.Multi',
....
tipText: function()
return App.getController('your controller').yourVariable
,
.....
);
这是在创建滑块时添加的,因此您无需修改它,只需修改控制器中的变量即可。所以不需要重新设置提示文字功能。
【讨论】:
我试过这个。我收到错误Uncaught TypeError: Object #<Object> has no method 'getController'
。我用我分配的name
替换了App
。
对不起,我听不懂。我在这里分配的命名空间是App
。还是不行。
您仍然收到错误消息?顺便说一句,您需要从函数中返回值【参考方案2】:
我通过使用 Ext.slider.Tip 的getText
方法解决了这个问题。
用于创建出现在提示正文中的文本。默认情况下,这仅返回 Tip 附加到的 Slider Thumb 的值。覆盖以自定义。
比如在什么情况下可以使用,你看看这个link
【讨论】:
以上是关于将提示文本动态添加到滑块的主要内容,如果未能解决你的问题,请参考以下文章