Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用meta.tdAttr的网格列渲染器工具提示_Javascript_Extjs_Extjs4_Rally_Grid Layout - Fatal编程技术网

Javascript 使用meta.tdAttr的网格列渲染器工具提示

Javascript 使用meta.tdAttr的网格列渲染器工具提示,javascript,extjs,extjs4,rally,grid-layout,Javascript,Extjs,Extjs4,Rally,Grid Layout,我一直在尝试添加一个工具提示,当您将鼠标悬停在Ext.grid.Panel中的某个单元格上时,它会弹出 但是,列的渲染器函数的参数“meta”没有tdAttr属性 renderer : function(value, meta, record, row, col) { if (value == 1 && record.data.state === 'Accepted') { meta.tdCls = 'green'; console.log

我一直在尝试添加一个工具提示,当您将鼠标悬停在Ext.grid.Panel中的某个单元格上时,它会弹出

但是,列的渲染器函数的参数“meta”没有tdAttr属性

renderer : function(value, meta, record, row, col) {
    if (value == 1 && record.data.state === 'Accepted') {
        meta.tdCls = 'green';
        console.log('value',value);
        console.log('meta',meta);
        console.log('meta.tdAttr',meta.tdAttr);
        console.log('meta.style',meta.style);
        meta.tdAttr = 'data-qtip="' + value + '"';
        return record.data.id;
    } else if (value == 1 && record.data.state === 'Initial Version') {
        meta.tdCls = 'white';
        return record.data.id;
    } else if (value == 1) {
        meta.tdCls = 'red';
        return record.data.id;
    } else {
        return '';
    }
}
控制台输出示例:

value 1 
meta Object {tdCls: "", style: ""} 
meta.tdAttr undefined 
meta.style
我觉得我可能缺少网格视图或网格面板上的某些设置,但该属性在元参数上甚至不可用似乎很奇怪。从文件中:

元数据:对象
关于当前单元格的元数据集合;可以由渲染器使用或修改。公认的属性有:tdCls、tdAttr和style。

我有在操作列中动态显示单元格工具提示的经验,应该会有所帮助

        {
            xtype: 'actioncolumn',
            name: 'payment',
            width: 70,
            align: 'center',
            dataIndex: 'uid',
            menuDisabled: 'true',
            text: 'xxx',
            sortable: false,
            fixed: 'true',
            renderer: function (value, metadata, record) {
                if (value == '0') {
                    metadata.tdCls = 'pay-icon';
                }
                else {
                    metadata.tdCls = 'paid-icon'
                }
            },
            getTip: function (value, metadata, record) {
                if (value == '0') {
                    return 'for pay';
                } else {
                    return 'paid';
                }
            }
        }

我有在操作列中动态显示单元格工具提示的经验,应该会有所帮助

        {
            xtype: 'actioncolumn',
            name: 'payment',
            width: 70,
            align: 'center',
            dataIndex: 'uid',
            menuDisabled: 'true',
            text: 'xxx',
            sortable: false,
            fixed: 'true',
            renderer: function (value, metadata, record) {
                if (value == '0') {
                    metadata.tdCls = 'pay-icon';
                }
                else {
                    metadata.tdCls = 'paid-icon'
                }
            },
            getTip: function (value, metadata, record) {
                if (value == '0') {
                    return 'for pay';
                } else {
                    return 'paid';
                }
            }
        }

我不知道为什么一开始就没有这个设置,但我手动添加了它来解决这个问题:

meta['tdAttr'] = 'data-qtip="' + value + '"';

成功了

我不知道为什么一开始没有这个设置,但我手动添加了它来解决这个问题:

meta['tdAttr'] = 'data-qtip="' + value + '"';

成功了

您使用的是哪个版本的Ext JS?我们使用的是相同的版本,代码
meta.tdAttr='data qtip=“'+value+'”工作正常。你能在JS fiddle或其他任何东西上复制这个问题吗?唯一可能不同的是,我在开发Rally应用程序的环境中使用extjs,Rally是在ExtJS4之上构建的。但是,我使用的是原生ExtJS4组件,因此我认为没有理由不让它们在这种情况下工作!您使用的是哪个版本的Ext JS?我们使用的是相同的版本,代码
meta.tdAttr='data qtip=“'+value+'”工作正常。你能在JS fiddle或其他任何东西上复制这个问题吗?唯一可能不同的是,我在开发Rally应用程序的环境中使用extjs,Rally是在ExtJS4之上构建的。但是,我使用的是原生ExtJS4组件,因此我认为没有理由不让它们在这种情况下工作!动作列并不是真的要这样使用——我希望它能在悬停上工作,但这并没有真正实现。动作列并不是真的要这样使用——我希望它能在悬停上工作,但这并没有真正实现。如果您不能信任值,这就是HTML注入的风险。(我刚刚在CodeReview中发现了这一点,并向开发人员发送了其应用程序的屏幕截图,显示“You's hacked”(您已被黑客攻击)如果您不能信任该值,则这是一种HTML注入风险。(我刚刚在CodeReview中发现了这一点,并向开发人员发送了其应用程序的屏幕截图,其中显示了警报“You's hacked”)