Extjs getClass for actionColumn仅在几行中

Extjs getClass for actionColumn仅在几行中,extjs,extjs4,Extjs,Extjs4,我正在使用下面的代码,为action列设置css类。 但是,即使结果为null,extjs也会插入一些元素 getClass: function(v, meta, data) { if (data.myDate < new Date()) return null; else return 'insert'; } getClass:function(v,meta,data){ 如果(data.myDate

我正在使用下面的代码,为action列设置css类。 但是,即使结果为null,extjs也会插入一些元素

getClass: function(v, meta, data) {        
  if (data.myDate < new Date())
        return null;
  else
        return 'insert';
}
getClass:function(v,meta,data){
如果(data.myDate
为返回null生成的html:

<img alt="" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" 
class="x-action-col-icon x-action-col-1   null">

主要的问题是,当移动这个“空白”空间时,光标变为指针


有一种方法可以在不显示图标的情况下不生成元素?

如果不扩展操作列,我看不到任何方法。IMO最简单的方法是提供自定义
渲染器
函数。例如:

Ext.define('Ext.grid.column.MyAction', {
    extend: 'Ext.grid.column.Action',

    constructor: function(config) {
        var me = this, 
            cfg = Ext.apply({}, config),
            items = cfg.items || [me],
            l = items.length,
            i,
            item,
            cls;

        me.callParent(arguments);

        me.renderer = function(v, meta) {
            v = Ext.isFunction(cfg.renderer) ? cfg.renderer.apply(this, arguments)||'' : '';

            meta.tdCls += ' ' + Ext.baseCSSPrefix + 'action-col-cell';
            for (i = 0; i < l; i++) {
                item = items[i];
                item.disable = Ext.Function.bind(me.disableAction, me, [i]);
                item.enable = Ext.Function.bind(me.enableAction, me, [i]);

                cls = (Ext.isFunction(item.getClass) ? item.getClass.apply(item.scope||me.scope||me, arguments) : (me.iconCls || ''));
                if (cls !== null) {
                    v += '<img alt="' + (item.altText || me.altText) + '" src="' + (item.icon || Ext.BLANK_IMAGE_URL) +
                        '" class="' + Ext.baseCSSPrefix + 'action-col-icon ' + Ext.baseCSSPrefix + 'action-col-' + String(i) + ' ' + (item.disabled ? Ext.baseCSSPrefix + 'item-disabled' : ' ') + (item.iconCls || '') +
                        ' ' + cls + '"' +
                        ((item.tooltip) ? ' data-qtip="' + item.tooltip + '"' : '') + ' />';
                }
            }
            return v;
        };
    }

});
Ext.define('Ext.grid.column.MyAction'{
扩展:“Ext.grid.column.Action”,
构造函数:函数(配置){
var me=这个,
cfg=Ext.apply({},config),
items=cfg.items | |[me],
l=项目长度,
我
项目,,
cls;
me.callParent(参数);
me.renderer=函数(v,meta){
v=Ext.isFunction(cfg.renderer)?cfg.renderer.apply(此参数)| |“”“”;
meta.tdCls+=''+Ext.baseCSSPrefix+'action col cell';
对于(i=0;i
它可以工作,但我必须将类似的内容更改为:if(cls==null)到if(cls!=null)