Java ZK-根据模型内容向Treeitem添加组件
因此,我想根据当前节点的AttType字段添加特定组件(复选框或文本框)。我的zul文件如下所示:Java ZK-根据模型内容向Treeitem添加组件,java,zk,Java,Zk,因此,我想根据当前节点的AttType字段添加特定组件(复选框或文本框)。我的zul文件如下所示: <tree id="permissionTree" width="100%" model="@bind(vm.treeModel)" style="text-align:left;"> <treecols> <treecol label="Item" width="400px" />
<tree id="permissionTree" width="100%"
model="@bind(vm.treeModel)" style="text-align:left;">
<treecols>
<treecol label="Item" width="400px" />
<treecol label="Wert" />
</treecols>
<template name="model" var="node">
<treeitem>
<treerow>
<treecell label="@load(node.data.name)" />
<treecell> HERE COMPONENT DEPENDING ON node.data.AttType </treecell>
</treerow>
</treeitem>
</template>
</tree>
此处的组件取决于node.data.AttType
我怎样才能做到这一点?哦,我想把Textbox/Checkbox值作为一个字符串绑定到我的模型上,这将非常好
谢谢你的建议
编辑:我为自己做了一个小的“变通方法”。因为我只有3种可能的输入类型,所以我只是对它们进行了硬编码:
<tree id="permissionTree" width="100%"
model="@bind(vm.treeModel)" style="text-align:left;">
<treecols>
<treecol label="Item" />
<treecol label="Wert" />
</treecols>
<template name="model" var="node">
<treeitem open="@bind(node.open)" onClick="@command('expandNode', item=node)">
<treerow>
<treecell label="@load(node.data.name)" />
<treecell>
<textbox visible="@load(node.data.isTextbox)" value="@bind(node.data.value)" />
<textbox visible="@load(node.data.isTextarea)" rows="6" width="300px" value="@bind(node.data.value)" />
<checkbox visible="@load(node.data.isCheckbox)" checked="@bind(node.data.checkboxValue)" />
</treecell>
</treerow>
</treeitem>
</template>
</tree>
在树节点的构造函数中,我根据类型设置isTextbox/isTextarea/isCheckbox值。这样模型绑定仍然有效:)正如您在上一个问题中所问:使用treeitem渲染器并在那里添加所需的项目。我认为绑定对新组件不起作用