ExtJS 模板类型 Ext.Template/Ext.XTemplate

Posted 重庆熊猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ExtJS 模板类型 Ext.Template/Ext.XTemplate相关的知识,希望对你有一定的参考价值。

更新记录

更新记录
2023年3月6日 将模板内容单独抽出作为单独的章节。

ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html
转载请注明出处:https://www.cnblogs.com/cqpanda/p/17186001.html

Ext.Template类型

说明

Ext.Template 类可以用来创建HTML模板,填充数据后可以显示不同的数据。

创建模板

使用Ext.Template类型即可。第一个参数是模板字符串,配置项有2个。

compiled : Boolean
True to immediately compile the template. Defaults to false.

disableFormats : Boolean
True to disable format functions in the template. If the template doesn\'t contain format functions, setting disableFormats to true will reduce apply time. Defaults to false.

使用位置参数

var tpl = Ext.create(\'Ext.Template\', \'<div>Hello 0</div>\');

使用键值对

var tpl = Ext.create(\'Ext.Template\', \'<div>Hello name, DateTime dateTime</div>\');

本质是使用Ext.core.DomHelper类型。

var itemTpl = Ext.core.DomHelper.createTemplate(
    tag: \'li\',
    html: \'newfeature\'
);

带上配置项

let tpl = Ext.create(\'Ext.Template\',
                        \'<div>Hello name, DateTime dateTime</div>\',
                          compiled :true 
                    );

let data = 
    name: \'Panda\',
    dateTime: \'long long ago\'


let result = tpl.apply(data);

console.log(result);

编译模板

编译模板可以加快渲染
和填充速度

tpl.compile();

模板填充数据并渲染

按位置填充数据

var tpl = Ext.create(\'Ext.Template\', \'<div>Hello 0</div>\');
var data =  [\'panda\'];
tpl.append(Ext.getBody(),data);

按键值对填充数据

var tpl = Ext.create(\'Ext.Template\', \'<div>Hello name,\'+
\'DateTime dateTime</div>\');
tpl.compile();
var data = 
    \'name\':\'panda\',
    \'dateTime\':\'2020年10月2日\'
;
tpl.append(Ext.getBody(), data);

在组件中使用模板

使用tpl配置项

//创建组件
var pandaCmp = Ext.create("Ext.Component",
    width: 300,
    height: 150,
    data: 
        name:"Panda",
        code:"666"
    ,
    //定义模板
    tpl:["<h1>Panda666</h1><p>Hello name code!</p>"]
);

//渲染组件
pandaCmp.render(Ext.getBody());

以上是关于ExtJS 模板类型 Ext.Template/Ext.XTemplate的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript Extjs - 扩展组件模板

雪庐小酒学ExtJS:创建admin-dashboard官方模板项目

快速模板——Echart包

ExtJs 4.1 TreeGrid 树列自定义渲染器

如何从 Extjs4 中的商店获取字段类型?

如何使用 xtype 文件字段(extjs 4.1.0)限制文件类型?