如何在extjs actioncolumn图标上添加动态工具提示?

时间:2012-11-30 08:23:48

标签: extjs extjs4.1

我有这样的actioncolumn:

{
    xtype: 'actioncolumn',
    align: 'center',
    items: [
        {
            getTip: function () {
                return 'this doesn\'t work';
            },
            handler: function() {
                // action 1
            }
        },{
            tooltip: 'works',
            handler: function() {
                // action 2
            }
        }
    ]
}
我在文档中找到的

getTip()方法,但它不起作用或者我不知道如何使用它。我做错了什么或如何设置工具提示?

3 个答案:

答案 0 :(得分:4)

似乎就像bjornd所说的那样是getTip()的bug,但是我成功地添加了工具提示,这不是我想的最好的方式,但它对我有用。

{
    xtype: 'actioncolumn',
    align: 'center',
    items: [
        {
            getClass: function(value,meta,record,rowIx,colIx, store) {
                this.items[0].tooltip = 'working ' + record('name');
                return 'some-class-name'; // or something if needed
            },
            handler: function() {
                // action 1
            }
        },{
            tooltip: 'works',
            handler: function() {
                // action 2
            }
        }
    ]
}

如果有人能提出更好的解决方案,我会很高兴听到。

答案 1 :(得分:2)

我用过

getTip : function(value, metaData, record){
    return this.getCheckOutCheckInToolTip(record);
},

它有效

答案 2 :(得分:1)

items属性的评论中所述:

  

getTip选项似乎不起作用。我宣布了一个函数:

getTip:function( value, metadata, record ) {
    if( !record.get( 'editable' ) )
        return 'Record is locked';
    return 'Delete record';
}
     

鼠标悬停时没有提示。 Firebug中的结果代码是:

<td class=" x-grid-cell x-grid-cell-btn-timesheet-delete   x-action-col-cell x-grid-cell-last"><div style="text-align: left; ;" class="x-grid-cell-inner "><img class="x-action-col-icon x-action-col-0   timesheet-option-icon-delete" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" alt=""></div></td>
     

所以,没有data-qtip属性。

所以我认为这是一个已知问题。您可以等待更新或通过一些覆盖来自行修复。