3

我的 ZUL 文件中有一个 <template> 标记,并且我想在某些条件发生时使用此模板(例如,当某些 LABEL 的值更改为某些文本时)。

请看下面的代码...如您所见,“templateStatus”是我标签的名称,但它不起作用。

我该如何解决这个问题?

    <template name="allTaskTemplate" var="allTask" if="templateStatus.value == 'allTask'">
        <row>
            <label value="" />
            <label value="@load(allTask.documentDTO.docTypeDTO.title)"/>
            <label value="@load(allTask.documentDTO.docNumber)"/>
            <label value="@load(allTask.documentDTO.docDateTime)"/>
            <label value="@load(allTask.assignerID)"/>
            <label value="@load(allTask.assigneeID)"/>
            <label value="@load(allTask.assignDateTime)"/>
            <label value="@load(allTask.assignDateTime)"/>
            <label value="@load(allTask.assignDateTime)"/>
            <label value="@load(allTask.assignDateTime)"/>
            <label value="@load(allTask.documentDTO.docTypeStateDTO.stateActionDTO.actionDTO.title)"/>
            <label value="@load(allTask.catalogDTO.catalogTypeDTO.title)"/>
        </row>
    </template>
</grid>
4

2 回答 2

5

使用if语句:

<zk if="${vm.type=='foo'}">
    <!-- Child components -->
</zk>

<zk if="${vm.type=='check'}">
    <!-- Child components -->
</zk>

<zk if="${vm.type=='something'}">
    <!-- Child components -->
</zk>

<zk if="${vm.type=='value'}">
    <!-- Child components -->
</zk>
于 2013-06-18T12:40:40.443 回答
2

请参阅下面的 ZK 示例。您可以使用条件模板...

<grid model="@bind(vm.itemList) @template(vm.type eq 'foo'?'template1':'template2')">
    <template name="template1">
    <!-- child components -->
    </template>

    <template name="template2">
    <!-- child components -->
    </template>
</grid>

更多信息,您可以查看 ZK 的官方页面,收集和选择

请参阅以下代码...

   <menubar id="mbar" children="@bind(vm.menuList) @template(empty each.children?'menuitem':'menu')">
    <template name="menu" var="menu">
        <menu label="@bind(menu.name)">
            <menupopup children="@bind(menu.children) @template(empty each.children?'menuitem':'menu')"/>
        </menu>
    </template>
    <template name="menuitem" var="item">
        <menuitem label="@bind(item.name)" onClick="@command('menuClicked',node=item)" />
    </template>
</menubar>

见上文。使用两个以上的模板,你可以做这样的事情。我不知道您的要求,但您可以使用上述逻辑并在您的代码中实现它。

或者你也可以查看 ZK 论坛,Zk 论坛

于 2013-03-11T07:15:50.993 回答