首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么templatecolumn在现代工具包EXTJS中不起作用

为什么templatecolumn在现代工具包EXTJS中不起作用
EN

Stack Overflow用户
提问于 2021-06-19 14:55:43
回答 1查看 91关注 0票数 0

我试图在EXTJS现代工具包中使用templatecolumn。我不明白为什么Ext.XTemplate在现代工具包中不起作用,因为它的语法与经典工具包的语法没有什么不同。

代码语言:javascript
复制
var store = Ext.create('Ext.data.Store', {
    fields: ['name'],
    data: [{
        'name': 'Bart',
    }, {
        'name': 'Lisa',
    }, {
        'name': 'Homer',
    }, {
        'name': 'Marge',
    }]
});



Ext.create({
    xtype: 'grid',
    height: 500,
    renderTo: Ext.getBody(),
    store: store,
    columns: [
        {text: 'Name',  dataIndex:'name'},
        {
            text: 'Name Styled',
            xtype: 'templatecolumn',
            tpl: new Ext.XTemplate(
                '<div class="myClass">{name}</div>',
            ),
        },        
    ],
});

CSS

代码语言:javascript
复制
.myClass {
    font-size: 16px;
    color: red;
}

对于经典工具包,它表现得很好:

但是,对于现代工具包,它显示完整的html文本,而不是应用类:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-19 22:32:36

只需在单元格配置中将encodeHtml设置为false:

代码语言:javascript
复制
var store = Ext.create('Ext.data.Store', {
    fields: ['name'],
    data: [{
        'name': 'Bart',
    }, {
        'name': 'Lisa',
    }, {
        'name': 'Homer',
    }, {
        'name': 'Marge',
    }]
});

Ext.create({
    xtype: 'grid',
    height: 500,
    renderTo: Ext.getBody(),
    store: store,
    columns: [{
        text: 'Name',
        dataIndex: 'name'
    }, {
        text: 'Name Styled',
        // disable enocde in cell
        cell: {
            encodeHtml: false
        },
        // ----
        tpl: new Ext.XTemplate('<div class="myClass">{name}</div>'),
    }, ],
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68047957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档