dojo 如何将html标签放入标签列标题中?

7gcisfzg  于 2022-12-16  发布在  Dojo
关注(0)|答案(3)|浏览(173)

我使用dgrid来创建一个简单的网格(http://dojofoundation.org/packages/dgrid/tutorials/defining_grid_structures/),我的问题很简单:如何把html标签放在label的columnheader中?因为如果我放一个img标签,label包含字符串img src=...谢谢

u2nhd7ah

u2nhd7ah1#

列定义可以提供构建列标题的函数。

var column = {
    //...
    renderHeaderCell: function(node) {
        domConstruct.create('img', {src: ''}, node);
        return node;
    }
};

请参见DGrid wikirenderHeaderCell()函数的文档:
renderHeaderCell(node)
一个可选函数,用于呈现列的标题单元格。与renderCell类似,它可以直接对节点进行操作,也可以返回要放置在其中的节点。

7kqas0il

7kqas0il2#

使用put-selector的一行答案:

renderHeaderCell: function(node) {
    return put("img[src=/your/image]");
}

注意如果你的列恰好是一个选择器,这个函数就不起作用了--因为selector.js定义了他自己的renderHeaderCell(node)函数。

ckx4rj1h

ckx4rj1h3#

@克雷格谢谢你的回答,在我的情况下,我只需要知道如何添加HTML到标题单元格和renderHeaderCell(node)肯定是答案。
对于那些只需要在标题单元格中添加<br><span><div>等的用户,这里有两个简单的示例可以比较:

不使用renderHeaderCell(node)的示例:

{
    label: 'Title',
    field: appConfig.fields[0],
    sortable: false
}

使用renderHeaderCell(node)的示例:

{
    renderHeaderCell: function(node) {
        node.innerHTML = '<span class="headerCell">Title<br><br></span>'
    },
    field: appConfig.fields[0],
    sortable: false
}

然后你就可以像平常一样用CSS定位了:

.headerCell {
    font-size: 9px;
}

相关问题