如何在zk中迭代偶数索引的模型



我需要按行显示模型中的对象,每行有两个模型。在我的zul文件中,我必须将模型分成两组。如何使用foreach、foreachstatus或template ?我使用zk网格

下面是索引上两个模板之间的切换示例。
你只需要实现对2取模并检查是否为1或0。

http://www.zkfiddle.org/sample/2rjaqos/4-MVVM-with-nested-template

该链接的zul代码:

<listbox model="@load(vm.beans)">
        <listhead children="@load(vm.colTitle)">
            <template name="children" var="title">
                <listheader label="@load(title)" />
            </template>
        </listhead>
        <template name="model" var="bean">
            <listitem children="@load(vm.colTitle)  @template(forEachStatus.index lt 1 ? 'fixed' : 'variable')">
                <template name="fixed">
                    <listcell label="@load(bean.title)" />
                </template>
                <template name="variable">
                    <listcell>
                        <checkbox checked="@load(bean.states[forEachStatus.index - 1])"
                            label="@load(bean.states[forEachStatus.index - 1] ? 'true' : 'false')"
                            onCheck="@command('onCheckState', bean=bean, state=self.isChecked(), index=forEachStatus.index - 1)" />
                    </listcell>
                </template>
            </listitem>
        </template>
</listbox>

是另一个模数的例子,但只有一个模板:
http://zkfiddle.org/sample/2pmngjk/9-Listbox-with-Template

第二个例子的Zul代码:
<zk>
  <window apply="pkg$.FruitProvider">
          <listbox model="${$composer.fruits}">
                  <template name="model">
                          <listitem>
                                  <listcell if="${forEachStatus.index % 2 == 0}">
                                          <textbox value="${each[0]}" />
                                          <textbox value="${each[1]}" />
                                  </listcell>
                                  <listcell unless="${forEachStatus.index % 2 == 0}">
                                          <label value="${each[0]}" />
                                          <label value="${each[1]}" />
                                  </listcell>
                          </listitem>
                  </template>
          </listbox>
  </window>
</zk>

我敢说你只能将一个模型应用到你的网格中,当然你也可以在控制器端操作它然而,如果你想知道模板组件迭代的元素索引,使用@load(varName Status.index)例子:

<template name="model" var="element">

然后在模板内:

<label value="@load(elementStatus.index)" />
它会输出元素在模型中的位置

更多信息在这里

相关内容

  • 没有找到相关文章

最新更新