gpt4 book ai didi

javascript - ExtJS X模板

转载 作者:可可西里 更新时间:2023-11-01 01:39:37 24 4
gpt4 key购买 nike

我正在尝试使用 ExtJS 开发 FilterEditor。用户创建了一些范围、比较、空/非空标准,我需要以格式良好的格式呈现它们,以便用户可以轻松阅读整体标准。

为此,我认为 Ext.DataView 和 XTemplates 可以解决问题。但我想知道我是否可以提供多个模板以使模板易于维护,或者使用一些内置功能为我选择一个模板。

   var dateRangeTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div id="{CriteriaId}">',
'<em>{FieldName} </em>',
'<span>{Modifier} </span>',
'<span>{Condition} </span>',
'<span>{LeftDate} </span>',
'<span>{RightDate} </span>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>'

var notNullTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div id="{CriteriaId}">',
'<em>{FieldName} </em>',
'<span>{Modifier} </span>',
'<span>{Condition} </span>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>'

输出:

Invoice Date not between 2011-01-01 2011-01-31
Invoice Date not null

将会有很多模板,我正在考虑提供一些内联数据编辑器,所以很可能这会增加数量。我知道我可以做一些简单的模块,但它可能会变得越来越大和复杂,所以在我深入研究之前我想听听一些意见。

最佳答案

我认为模板最强大的方面是您可以在模板中调用的模板成员函数。有了这些,可能性是无限的。例如,您可以使用它们在主模板中呈现其他子模板:

var mainTpl = new Ext.XTemplate(
'<tpl for=".">',
'<div class="container">',
'{[this.renderItem(values)]}',
'</div>',
'</tpl>',
{
renderItem: function(values) {
if (values instanceof DateRange) {
return dateRangeTpl.apply(values);
}
else {
return notNullTpl.apply(values);
}
}
}
);

有关模板的详细概述,请查看 Sencha session 视频:Advanced Templates for Ext JS .

关于javascript - ExtJS X模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5006273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com