包含模板

时间:2016-02-01 16:00:32

标签: javascript templates extjs extjs5

我正在尝试在显示字段中实现tpl,以显示从textarea发送到服务器的数据列表。

使用rowexpander插件(display values in XTemplate like textarea format)在网格中显示相同的数据 小提琴:https://fiddle.sencha.com/#fiddle/14sf

我试过这样的事情:

FIDDLE:https://fiddle.sencha.com/#fiddle/14t7 没有成功...

我尝试了各种方法来渲染tpl失败。

显示屏有一个配置 tpl ,但在我的情况下似乎不起作用......

我感谢有关解决此问题的建议

1 个答案:

答案 0 :(得分:1)

显示字段还具有渲染器功能。您可以在网格中使用它:

//var is just for illustration of the issue
var vegetables_types = 'potatos\ncarrots\npumpkins';

Ext.create('Ext.form.Panel', {
    renderTo: Ext.getBody(),
    width: 450,
    height: 200,
    bodyPadding: 10,
    title: 'Template',
    items: [{
        xtype: 'displayfield',
        fieldLabel: 'TPL',
        name: 'vegetables_types',
        renderer: function(value, field) {
            this.rndTpl = this.rndTpl || new Ext.XTemplate('<div><div>' + '<b>Vegetables: </b><ul><li>{[values.vegetables_types.replace(/\\n/g, "<li/>")]}</li><ul>' + '</div></div>');

            return this.rndTpl.apply({
                vegetables_types: value
            });
        },
        listeners: {
            render: function(field, eOpts) {
                field.setValue('potatos\ncarrots\npumpkins')
            }
        }
    }],

});

https://fiddle.sencha.com/#fiddle/14il