在XTemplate中获取数组的大小

时间:2013-03-21 15:03:27

标签: gxt

首先,我正在使用GXT 2.2.5和GWT 2.3。

我有一个ListView,显示用户生成的项目。我希望它显示已经输入的项目,或者如果商店为空则显示“没有项目附加”的单行。

我想我可以在模板中使用“tpl if”标签,但是如何确定商店的大小以进行比较呢?

换句话说,我在下面的“尺寸”中使用什么值?

<tpl if="size == 0">
  <p>No Items attached</p>
</tpl>
<tpl if="size > 0">
  <tpl for =".">
    ...
  </tpl>
</tpl>

谢谢!

1 个答案:

答案 0 :(得分:0)

GXT 2 XTemplates基于JavaScript,因此不要使用size键入,而是使用length,即包含JavaScript数组大小的属性的名称。在GXT 3中,XTemplates被重写为可以与任何Java对象一起使用,所以期望像你在这里写的那样使用size方法。

来自http://www.sencha.com/examples-2/#listview的修改后的模板:

private native String getTemplate() /*-{
  return ['<tpl if="length == 0">',
              'nothing to show',
          '</tpl>',
          '<tpl if="length != 0">',
              '<tpl for=".">',
                  '<div class="thumb-wrap" id="{name}">',
                      '<div class="thumb"><img src="{path}" title="{name}"></div>',
                      '<span class="x-editable">{shortName}</span>',
                  '</div>',
              '</tpl>',
              '<div class="x-clear"></div>',
          '</tpl>'
   ].join("");
 }-*/;